1

私はWPFの使用にまったく慣れておらず、私が取り組んでいるアプリケーションでListCollectionView.Refresh()は、ListCollectionビューモデルのオブジェクトの1つが変更されるたびにアプリケーションが非常に非効率になりました(ListCollectionViewリストコレクションビューモデルにバインドされています)。アプリケーションを削除した後はRefresh()、よりスムーズに実行され、ListCollection ビュー モデルで変更が発生した場合でも更新されます。周りを見回した後、フィルターまたは再ソートがあるときはいつでも、CollectionViewへの暗黙の呼び出しがあるようRefresh()です。Refresh()それで、いつ再作成する必要がありCollectionViewますか?

4

2 に答える 2

3

私があなたを正しく理解していればListCollectionView、ListCollectionViewModel (独自のクラス) にバインドされている があります。ListCollectionViewModel がINotifyCollectionChanged適切に実装され (ObservableCollection<T> から継承されているなど)、コレクション内の項目がINotifyPropertyChange適切に実装されている限り、Refresh() を呼び出す必要はありません。

于 2012-07-06T01:08:57.463 に答える
0

CollectionView は、複数の項目が変更されている (例外が発生する) CollectionChanged イベントを処理しません。Refresh()代わりに使用できます。そのため、フィルターと並べ替えを使用した呼び出しが表示されます。

于 2012-07-06T11:55:17.287 に答える