クライアントでDomainDataSource(DDS)をフィルタリングするための最良の方法は何ですか?
私のDDSはWCFRiaサービスに接続し、いくつかのアイテムをダウンロードします。この情報の一部をさまざまなコントロールに表示したいと思います。たとえば、さまざまな値でフィルタリングされたDDSからのアイテムを表示するいくつかのItemsControls。サーバー上のコントロールとフィルターごとに新しいDDSを作成できることはわかっていますが、1回だけ実行したいと思います。
iValueConverterを使用してフィルタリングを実行してみました。例えば
ItemsSource="{Binding Data, ElementName=PermissionsByUserDS, Converter={StaticResource PermissionsByTypeConverter}, ConverterParameter={StaticResource GeneralPermissions}}"
これは、コントロールが最初にデータバインドされたときに正常に機能しますが、DDSがデータをリロードしたときに更新されません。コンバーターを削除すると、ItemsControlsは期待どおりに更新されますが、明らかにフィルタリングが取得されません。
DDSが更新されるたびに、コードでフィルタリングとバインドを手動で行うこともできますが、これが最善のアプローチかどうかはわかりません。
助言がありますか?