2017-01-23 161 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++; 
    } 
}