ImageAlbums
是ICollectionView
類型和GlobalCollection.MyImageAlubms
是ObservableCollection<T>
類型。過濾問題與ICollectionView
ImageAlbums = CollectionViewSource.GetDefaultView(GlobalCollection.MyImageAlubms);
ImageAlbums.Filter = new Predicate<object>(this.FilterImageAlbumList);
在視圖中,我使用ImageAlbums顯示過濾圖像列表。我使用FilterImageAlbumList
方法過濾了列表。問題是我在另一個地方使用了GlobalCollection.MyImageAlubms
。在這個視圖中,我直接使用了GlobalCollection.MyImageAlubms作爲源代碼,但在那裏,列表也顯示爲已過濾。我在這裏也提供了過濾器的方法,下面的代碼代表的過濾方法
private bool FilterImageAlbumList(object item)
{
AlbumModel albumMoel = (AlbumModel)item;
if(LOGIC_OF_FILTERING)
{
return false;
}
return true;
}
有什麼辦法只有ImageAlbums
過濾不影響GlobalCollection。僅供參考 - 我不會深度複製全球收藏。
由於item是一個對象,所以你可以測試這個類型。每個類都有不同的類型枚舉。 – jdweng
您可以創建新的'{CollectionViewSource來源= GlobalCollection.MyImageAlubms} .View一個新的觀點;但是'我發現在過去的這個越野車(http://stackoverflow.com/questions/37166747/object-reference-not -set到一個實例 - - 一個對象,在-presentationframework的),最終只創建副本... – Joe
@Joe,如果您發現此車爲什麼你的建議呢? – lukai