Первоначально скрыть элементы в ListView (использует ICollectionView и ObservableCollection) - PullRequest
0 голосов
/ 12 февраля 2011

Я использую ListView, который связан с ICollectionView (ListCollectionView -> ObservableCollection) При загрузке файла, содержащего данные, коллекция заполняется. Каждый элемент данных имеет логический флаг, который указывает, должен ли он отображаться в списке или должен быть скрыт.

В настоящее время я сделал это безобразно. Я заполняю сначала коллекцию (listview) данными. Пользователь может видеть это. После его заполнения я запускаю процедуру, которая фильтрует (ICollectionView.Filter) элементы, которые не совпадают. В этот момент количество элементов списка уменьшается.

Есть ли лучший способ реализовать это?

1 Ответ

3 голосов
/ 12 февраля 2011

Просто установите фильтр до , когда вы начнете заполнять коллекцию:

ObservableCollection<Foo> collection = new ObservableCollection<Foo>();
ICollectionView view = CollectionViewSource.GetDefaultView();
view.Filter = YourFilterMethod;
// Fill the collection
collection.Add(...);
...