문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
이 설명서는 보관되지만 유지 되지 않습니다.

ItemContainerGenerator 클래스

호스트를 대신하여 ItemsControl과 같은 user interface (UI)를 생성합니다.

System.Object
  System.Windows.Controls.ItemContainerGenerator

네임스페이스:  System.Windows.Controls
어셈블리:  PresentationFramework(PresentationFramework.dll)

public sealed class ItemContainerGenerator : IRecyclingItemContainerGenerator, 
	IItemContainerGenerator, IWeakEventListener

ItemContainerGenerator 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 속성Status ItemContainerGenerator 의 생성 상태입니다.
위쪽

  이름설명
Public 메서드ContainerFromIndex ItemCollection 내에서 지정된 인덱스에 있는 항목에 해당하는 요소를 반환합니다.
Public 메서드ContainerFromItem지정된 항목에 해당하는 UIElement를 반환합니다.
Public 메서드Equals(Object)지정한 Object가 현재 Object와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize 개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드IndexFromContainer생성된 지정 UIElement에 해당하는 항목에 대한 인덱스를 반환합니다.
Public 메서드ItemFromContainer생성된 지정 UIElement에 해당하는 항목을 반환합니다.
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
위쪽

  이름설명
Public 이벤트ItemsChanged ItemsChanged 이벤트는 항목 컬렉션이 변경되었음을 레이아웃에 알리기 위해 ItemContainerGenerator에 의해 발생됩니다.
Public 이벤트StatusChanged StatusChanged 이벤트는 상태가 변경되었음을 컨트롤에 알리기 위해 ItemContainerGenerator에 의해 발생됩니다.
위쪽

  이름설명
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.GenerateNext()다음 항목을 표시하는 데 사용되는 컨테이너 요소를 반환합니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.GenerateNext(Boolean)다음 항목을 표시하는 데 사용되는 컨테이너 요소 및 컨테이너 요소가 새로 생성(표시)되었는지 여부를 반환합니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.GeneratorPositionFromIndex지정된 인덱스의 항목에 매핑되는 GeneratorPosition 개체를 반환합니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.GetItemContainerGeneratorForPanel지정된 패널에서 사용할 수 있는 적절한 ItemContainerGenerator를 반환합니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.IndexFromGeneratorPosition지정된 GeneratorPosition에 매핑되는 인덱스를 반환합니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.PrepareItemContainer지정된 요소를 해당하는 항목의 컨테이너로 준비합니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.Remove이 멤버는 Windows Presentation Foundation (WPF) 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.RemoveAll모든 생성(표시)된 항목을 제거합니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection)지정된 GeneratorPosition부터 지정된 GeneratorDirection으로 항목을 생성할 생성기를 준비합니다.
명시적 인터페이스 구현Private 메서드IItemContainerGenerator.StartAt(GeneratorPosition, GeneratorDirection, Boolean)지정된 GeneratorPosition부터 지정된 GeneratorDirection으로, 항목을 생성하며 생성(표시)된 항목에서 시작할지 여부를 제어하는 생성기를 준비합니다.
명시적 인터페이스 구현Private 메서드IRecyclingItemContainerGenerator.Recycle이 멤버는 Windows Presentation Foundation (WPF) 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
명시적 인터페이스 구현Private 메서드IWeakEventListener.ReceiveWeakEvent이 멤버는 Windows Presentation Foundation (WPF) 인프라를 지원하며 사용자 코드에서 직접 사용할 수 없습니다.
위쪽

ItemContainerGenerator 는 다음과 같은 형식을 정의하는 인터페이스인 IItemContainerGenerator를 구현합니다.

  • ContainerFromElement 및 해당 UIElement 항목과 같은 여러 항목 컨트롤의 데이터 뷰 간에 연결을 유지합니다.

  • 여러 항목 컨트롤을 대신하여 UIElement 항목을 생성합니다.

ItemsControl 형식에는 해당 컨테이너 형식이 있습니다. 컨테이너 요소는 항목 컬렉션의 데이터 항목을 포함하는 개체입니다. 예를 들어 ListBox의 경우 생성된 컨테이너는 ListBoxItem 컨트롤이고, ComboBox의 경우에는 ComboBoxItem 컨트롤입니다.

ItemsControl IItemContainerGenerator 인터페이스를 통해 해당 항목을 생성합니다. ItemsControl ItemContainerGenerator 속성은 ItemContainerGenerator 형식이며, 이 형식은 IItemContainerGenerator 인터페이스를 구현합니다. 따라서 ItemContainerGenerator 속성을 사용하면 ItemsControl에 연결된 ItemContainerGenerator 개체에 액세스할 수 있습니다. 예를 들어, 데이터 바인딩된 TreeView에서 인덱스나 연결된 데이터 항목에 따라 TreeViewItem을 가져오려는 경우 ItemContainerGenerator.ContainerFromIndex 또는 ItemContainerGenerator.ContainerFromItem 메서드를 사용할 수 있습니다. 생성된 특정 컨테이너 요소에 연결된 인덱스나 데이터 항목을 가져오기 위해 ItemContainerGenerator.IndexFromContainer 또는 ItemContainerGenerator.ItemFromContainer 메서드를 사용할 수도 있습니다.

이러한 경우 이외의 고급 시나리오에서도 IItemContainerGenerator 인터페이스가 사용됩니다. 일반적으로 가상화 패널을 직접 구현하는 고급 응용 프로그램에서 인터페이스의 멤버를 호출합니다.

If you need to get a specific ListBoxItem at a particular index in a ListBox, you can use an ItemContainerGenerator.

The following example shows a ListBox and its items.


<ListBox Margin="10,0,0,5" Name="lb" VerticalAlignment="Top" Grid.Column="0" Grid.Row="2">
    <ListBoxItem>Item 0</ListBoxItem>
    <ListBoxItem>Item 1</ListBoxItem>
    <ListBoxItem>Item 2</ListBoxItem>
    <ListBoxItem>Item 3</ListBoxItem>
</ListBox>


The following example shows how to retrieve the item by specifying the index of the item in the ContainerFromIndex property of the ItemContainerGenerator.


private void GetIndex0(object sender, RoutedEventArgs e)
{
  ListBoxItem lbi = (ListBoxItem)
      (lb.ItemContainerGenerator.ContainerFromIndex(0));
  Item.Content = "The contents of the item at index 0 are: " +
      (lbi.Content.ToString()) + ".";
}


After you have retrieved the list box item, you can display the contents of the item, as shown in the following example.


Item.Content = "The contents of the item at index 0 are: " +
    (lbi.Content.ToString()) + ".";


.NET Framework

4, 3.5, 3.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
표시: