ビューモデルに「things」のObservableCollectionがあり、追加のObservableCollectionsにそのリストのいくつかのフィルターされたサブセットがあります。画面に2つのDataGridがあり、それぞれをサブセットObservableCollectionsの1つにバインドしています。
両方のDataGridには、ViewモデルのSelectedThingプロパティにバインドされたSelectedItemプロパティがあります。
プログラムで、または2つのグリッドのいずれかで行を選択してSelectedThingを変更すると、期待どおりに変更されます。SelectedThingが指すアイテムがグリッドに存在する場合、グリッドは選択されたアイテムを更新します。
これが私の問題です...SelectedThingがグリッドのItemSourceに存在しない場合、選択は何も起こらなかったように動作し、SelectedThingが変更される前の状態のままになります。理想的には、基になるビューモデルプロパティがグリッドのItemsSource内の何かに設定されなくなった場合に、選択をクリアしたいと思います...誰か提案がありますか?