ItemContainerGenerator Class
Collapse the table of content
Expand the table of content

ItemContainerGenerator Class

Generates the user interface (UI) on behalf of its host, such as an ItemsControl. This class cannot be inherited.

Namespace: System.Windows.Controls
Assembly: PresentationFramework (in presentationframework.dll)
XML Namespace:

Public NotInheritable Class ItemContainerGenerator
	Implements IItemContainerGenerator, IWeakEventListener
Dim instance As ItemContainerGenerator

public final class ItemContainerGenerator implements IItemContainerGenerator, IWeakEventListener
public final class ItemContainerGenerator implements IItemContainerGenerator, IWeakEventListener
You cannot use this managed class in XAML.

ItemContainerGenerator implements IItemContainerGenerator, which is the interface that defines a type which:

  • Maintains an association between the data view of a multiple-item control, such as ContainerFromElement and the corresponding UIElement items.

  • Generates UIElement items on behalf of a multiple-item control.

If you need to get a specific ListBoxItem at a particular index in a ListBox you can use ItemContainerGenerator. The following example shows the 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>

This example shows how to retrieve the item by specifying the index of the item in the ContainerFromIndex property.

Sub GetIndex0(ByVal Sender As Object, ByVal e As RoutedEventArgs)

    Dim lbi As ListBoxItem = CType( _
        lb.ItemContainerGenerator.ContainerFromIndex(0), ListBoxItem)
    Item.Content = "The contents of the item at index 0 are: " + _
        (lbi.Content.ToString()) + "."
End Sub

Once you have retrieved the list box item you can do things such as display the contents of the item as shown in this example.

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

For the complete sample see Get ListBoxItem with Index Sample.


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0

Community Additions

© 2016 Microsoft