ドキュメントによると、フィルター処理された 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 を返します。
結果が修正されるかどうかを確認するために、CollectionView で Refresh を呼び出してみましたが、変更はありませんでした。ドキュメントは間違っていますか?CollectionView にバグはありますか? 見えないだけで何か悪いことをしていますか?