Generates the user interface (UI) on behalf of its host, such as an ItemsControl.
Assembly: PresentationFramework (in PresentationFramework.dll)
implements IItemContainerGenerator, which is the interface that defines a type which:
Generates UIElement items on behalf of a multiple-item control.
Each ItemsControl type has a corresponding container type. Container elements are the objects that contain the data items in the item collection. For example, for ListBox, the generated containers are ListBoxItem controls; for ComboBox, they are ComboBoxItem controls.
The ItemsControl generates its items through the IItemContainerGenerator interface. The ItemContainerGenerator property of the ItemsControl is of type , which implements the IItemContainerGenerator interface. Therefore, you can access the object associated with your ItemsControl using the ItemContainerGenerator property. For example, if you have a data-bound TreeView, 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 associated with a given generated container element.
Apart from those usages, the IItemContainerGenerator interface is used in advanced scenarios. Typically, advanced applications that have their own implementation of a virtualizing panel call members of the interface.
The following example shows a ListBox and its items.
The following example shows how to retrieve the item by specifying the index of the item in the ContainerFromIndex property of the .
After you have retrieved the list box item, you can display the contents of the item, as shown in the following example.
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.