Согласно документации , количество отфильтрованного CollectionView должно быть только количеством элементов, которые проходят фильтр. Учитывая этот код:
List<string> testList = new List<string>();
testList.Add("One");
testList.Add("Two");
testList.Add("Three");
testList.Add("1-One");
testList.Add("1-Two");
testList.Add("1-Three");
CollectionView testView = new CollectionView(testList);
int testCount1 = testView.Count;
testView.Filter = (i) => i.ToString().StartsWith("1-");
int testCount2 = testView.Count;
Поэтому я ожидаю, что testCount1 будет равен 6, а testCount2 - 3. Однако оба равны 6. Если я вручную перебираю CollectionView и считаю элементы, я получаю 3, но Count всегда возвращает 6.
Я пытался вызвать Refresh для CollectionView, просто чтобы посмотреть, исправит ли это результат, но изменений не было. Документация неверна? Есть ли ошибка в CollectionView? Я делаю что-то неправильно, чего просто не вижу?