Gewusst wie: Abrufen eines ListBoxItem

Wenn Sie ein bestimmtes ListBoxItem an einem bestimmten Index in ListBox abrufen müssen, können Sie ItemContainerGenerator verwenden.

Beispiel

Im folgenden Beispiel wird ListBox mit den zugehörigen Elementen veranschaulicht.

<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>

Im folgenden Beispiel wird veranschaulicht, wie Sie das Element abrufen, indem Sie den Index des Elements in der ContainerFromIndex-Eigenschaft von ItemContainerGenerator angeben.

Private 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
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()) + ".";
}

Nachdem Sie das Listenfeldelement abgerufen haben, können Sie den Inhalt des Elements anzeigen, wie im folgenden Beispiel dargestellt.

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()) + ".";