1

我正在使用绑定到 ICollectionView (ListCollectionView -> ObservableCollection) 的 ListView 在加载包含数据的文件时,集合被填充。每个数据项都有一个布尔标志,指示它是必须显示在列表视图中还是必须隐藏。

目前我以一种丑陋的方式做到了这一点。我首先用数据填充集合(列表视图)。用户可以看到这一点。填充它后,我开始一个例程过滤(ICollectionView.Filter)不匹配的项目。在那一刻,列表视图项目数减少了。

有没有更好的方法来实现这一点?

4

1 回答 1

3

只需在开始填充集合之前设置过滤器:

ObservableCollection<Foo> collection = new ObservableCollection<Foo>();
ICollectionView view = CollectionViewSource.GetDefaultView();
view.Filter = YourFilterMethod;
// Fill the collection
collection.Add(...);
于 2011-02-12T11:12:03.683 回答