从Windows通用应用程序中的ListView获取选定的ListViewItem容器

本文关键字:获取 ListViewItem 容器 ListView 应用程序 Windows | 更新日期: 2023-09-27 18:27:22

ListView的选择发生更改时,是否有方法获取ListViewItem容器。我试过使用

listView.ItemContainerGenerator.ContainerFromItem(listView.SelectedItem);

来自CCD_ 3的选择已更改事件,但这始终返回null。你知道我做错了什么吗?

从Windows通用应用程序中的ListView获取选定的ListViewItem容器

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以来已过时。