【问题标题】:Get selected ListViewItem container from ListView in Windows Universal App从 Windows 通用应用程序中的 ListView 获取选定的 ListViewItem 容器
【发布时间】:2015-12-18 17:38:03
【问题描述】:

ListViews 的选择发生变化时,有没有办法获取ListViewItem 容器。我试过使用

listView.ItemContainerGenerator.ContainerFromItem(listView.SelectedItem);

来自ListViews 选择更改事件,但这始终返回 null。任何想法我做错了什么?

【问题讨论】:

标签: c# xaml uwp


【解决方案1】:

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

【讨论】:

  • 那些给我列表视图绑定到的数组中的对象而不是 ListViewItem 容器
  • 我并不完全清楚你只想要容器,我将它添加到问题和我的回复中。
  • 它可以工作,除了菜单第一次出现的时候。然后容器为空。每隔一段时间它都会工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多