0

私はかなりの量のデータを持っており、ListViews、DataGrids を CollectionView にバインドし、OnFilter イベントを使用して CollectionView をフィルタリングしています。

そのため、CollectionView のデータをロードするときにも文字列プロパティFilterStringが変更されたときに、Setter を呼び出すとCollectionView.Refresh()、アクションによって画面が長時間ロックされるため、別のスレッドを使用してデータをロードし、データをフィルタリングしようとしましたが、CollectionView は別のスレッドをサポートしていないため、プログラムがクラッシュします。

この目的のためにRXを機能させる方法のガイドラインを教えてもらえますか?

サンプル コードを含むトレーニング ビデオまたは記事は大歓迎です。

どうもありがとう。

4

1 に答える 1

0

短い答えは、できないということです。を呼び出すには、UI スレッドにいる必要がありますCollectionView.Refresh()。Rxはそれを変更しません。

ただし、 でフィルタリングを行う代わりに、ReactiveUIからCollectionViewを使用できる場合があります。これにはもう少し手間がかかりますが、Rx を使用したい場合は、おそらくこれが最善の方法です。ReactiveCollection

于 2013-05-22T12:09:37.927 に答える