2012-11-15 33 views
1

我有一個集合出現在2個單獨的列表中。一個清單應顯示所有項目(未過濾),第二個清單應顯示符合某一標準的項目(過濾)。如何在一個集合上定義兩個單獨的過濾器?

2列表的ItemsSource屬性綁定到ViewModel中的2個屬性。

我試圖爲過濾列表設置一個DefaultView,但它會影響這兩個列表。

ListCollectionView view = (ListCollectionView) CollectionViewSource.GetDefaultView(_manager.Modules); 
view.Filter = delegate(object item) 
{ 
    Model.BaseModule bm = item as Model.BaseModule; 
    if (bm != null) 
    { 
     return bm is TemplatedUnitOfTest && ((TemplatedUnitOfTest)bm).TemplateGuid == _uot.Header.Id; 
    } 
    return false; 
}; 

我該怎麼做?

回答

3

而不是改變默認視圖,顯式創建兩個單獨的實例ListCollectionView,篩選一個,並將每個列表綁定到相關的視圖。

ItemsControl(或衍生物)顯示反正之前會一直纏繞其Items集合中CollectionView - 如果你做到這一步自己,那麼你有過錢包顯示的更多的控制。

相關問題