Как получить элемент ListBox
Если нужно получить конкретный ListBoxItem по определенному индексу в ListBox, можно использовать ItemContainerGenerator.
Пример
В следующем примере показаны ListBox и его элементы.
<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>
В следующем примере показано, как получить элемент, указав индекс элемента в свойстве ContainerFromIndexItemContainerGenerator.
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()) + ".";
}
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
После получения элемента списка можно отобразить содержимое элемента, как показано в следующем примере.
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()) + "."
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
.NET Desktop feedback