ListViewItems选项更改时,是否有方法获取ListView容器。我试过用

listView.ItemContainerGenerator.ContainerFromItem(listView.SelectedItem);

ListViews selection changed事件返回,但始终返回空值。你知道我做错了什么吗?

最佳答案

xaml:

<ListView ItemsSource="{x:Bind RowItems}"
              SelectionChanged="ListView_OnSelectionChanged"/>

代码隐藏:
private void ListView_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
{
    var item = e.AddedItems?.FirstOrDefault();
    // edit: also get container
    var container = ((ListViewItem) (listView.ContainerFromItem(item)));
}

请注意,listView.ItemContainerGenerator.ContainerFromItem在windows 8.1之后就过时了。

09-18 21:22