我使用的是一个绑定到ICollectionView的ListView(ListCollectionView - > ObservableCollection) 在加载包含数据的文件时,集合会被填充。 每个数据项都有一个布尔标志,表示它是否必须显示在列表视图中或必须隐藏。
目前我以丑陋的方式做到了这一点。我首先用数据填充集合(listview)。 用户可以看到这一点。 填写之后,我启动一个例程,过滤(ICollectionView.Filter)不匹配的项目。 列表视图项目计数在那一刻缩小。
有没有更好的方法来实现这个?
答案 0 :(得分:3)
只需在开始填充集合之前设置过滤器:
ObservableCollection<Foo> collection = new ObservableCollection<Foo>();
ICollectionView view = CollectionViewSource.GetDefaultView();
view.Filter = YourFilterMethod;
// Fill the collection
collection.Add(...);