Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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.
Example
<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>
This example shows how to retrieve the item by specifying the index of the item in the ContainerFromIndex property.
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()) + ".";
}
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()) + ".";
Item.Content = "The contents of the item at index 0 are: " + _
(lbi.Content.ToString()) + "."
For the complete sample see Get ListBoxItem with Index Sample.