ItemsControl.ItemContainerGenerator Property
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
Gets the ItemContainerGenerator that is associated with the control.
Namespace: System.Windows.Controls
Assembly: PresentationFramework (in PresentationFramework.dll)
[BindableAttribute(false)] [BrowsableAttribute(false)] public ItemContainerGenerator ItemContainerGenerator { get; }
Property Value
Type: System.Windows.Controls.ItemContainerGeneratorThe ItemContainerGenerator that is associated with the control. The default is null.
An ItemContainerGenerator is responsible for generating the user interface (UI) for its host, such as an ItemsControl. It maintains the association between the items in the data view of the control and the corresponding UIElement objects. Every ItemsControl has an associated item container that contains a data item in the item collection. You can use the ItemContainerGenerator property to access the item container that is associated with your ItemsControl. For example, if you have a data-bound TreeView control and you want to get a TreeViewItem based on its index or its associated data item, you can use the ItemContainerGenerator.ContainerFromIndex or the ItemContainerGenerator.ContainerFromItem method. Alternatively, you can use the ItemContainerGenerator.IndexFromContainer or the ItemContainerGenerator.ItemFromContainer method to get the index or data item that is associated with a given generated container element.
The IItemContainerGenerator interface is also used in advanced scenarios. Typically, advanced applications that have their own implementation of a virtualizing panel call members of the interface.
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.
After you have retrieved the list box item, you can display the contents of the item, as shown in the following example.
Windows 8 Consumer Preview, Windows Server 8 Beta, Windows 7, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.