В соответствии с документацией, количество фильтрованных 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? Я делаю что-то неправильно, чего я просто не вижу?