设置ListViewItem的可见性

时间:2017-01-23 14:57:19

标签: c# wpf listview

我在设置特定ListViewItem的可见性时遇到问题。

 foreach (Oseba item in osebe_listView.Items)
                        {

                            if (o == item)
                            {
                                object ob = (object)osebe_listView.Items[count];
                                ListViewItem lvi = (ListViewItem)ob;
                                lvi.Visibility = Visibility.Collapsed;

                                count++;
                            }
                        }

我想要的是找到类似于“Oseba”类型的对象的ListView项,并将其可见性设置为折叠。

2 个答案:

答案 0 :(得分:0)

我不确切知道这些物品是如何绑定到你的列表框的,所以这是一个黑暗的镜头,但我想你不会有这样的事情:

foreach (ListViewItem item in osebe_listView.Items)
{
  if ((item.DataContext as Oseba) != null)
  {
      item.Visibility = Visibility.Collapsed;
  }
}

但也许你应该看看过滤器。 WPF Filter a ListBox

答案 1 :(得分:0)

如果实际创建了容器,您可以使用ItemContainerGenerator.ContainerFromItem方法获取对数据项的可视容器的引用:

if(System::getOS() == System::OS_WIN) {
  // do something only on Windows platform
}