2017-01-23 121 views
0

我有问题设置对特定ListViewItem的可见性。设置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++; 
          } 
         } 

我想要的是找到ListView项是从类型“Oseba”等于一个对象,并设置它的能见度倒塌。

+0

请描述你的问题。你的问题是什么?你的代码不能编译?是否有运行时错误?代码没有做你想达到的目标吗? –

+0

此代码编译但无效,因为对象具有空值。我不知道如何获得listviewitem类型的对象,所以我可以将它设置为折叠 – someone1

+0

要说简单:我希望找到一个具有与对象类型Oseba相同的值的特定ListViewItem(Oseba正在填充listView) – someone1

回答

0

我不知道究竟该项目如何绑定到你的列表框,所以这是一个射进黑暗的,但我想你wan't是这样的:

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

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

+0

这是如何匹配这两个对象? – Versatile

+0

我正在使用此xaml语法填充项目:DisplayMemberBinding =“{Binding priimek}”。在代码隐藏中,我只使用add和clear,但我可以使用绑定:/ – someone1

+0

什么是您的ItemSource?只需显示您的View和ViewModel - 或填充ListView的代码 – SirBirne

0

你可以使用ItemContainerGenerator.ContainerFromItem方法来得到一个数据项的可视容器的参考提供的容器实际上已创建:

foreach (var item in osebe_listView.Items) 
{ 
    if (o == item) 
    { 
     ListViewItem lvi = osebe_listView.ItemContainerGenerator.ContainerFromItem(item) as ListViewItem; 
     if(lvi != null) 
      lvi.Visibility = Visibility.Collapsed; 
     count++; 
    } 
} 
相关问题