したがって、「Class1」というアイテムの ObservableCollection があり、Class1 には「ID」という名前のプロパティがあります。
WPFToolkit のデータグリッドを使用して、このコレクションにバインドします。データグリッド内にはコンボボックス列があり、その ItemsSource をクラスの ID プロパティにバインドします。
この時点で、すべてが正常であり、すべてが正常に読み込まれます。私がやりたいことは、ComboBox で選択された値を反映するように ObservableCollection を変更することです。
次のように、ValueConverter を ComboBox の SelectedItemBinding にバインドしています。
SelectedItemBinding="{Binding Path=ID, Converter={StaticResource IDConverter}}
コレクションを変更するのに最適な方法 (つまり、WPF が承認した方法) は何ですか? IDConverter ConvertBack() メソッドが呼び出されると、適切な Class1 インスタンスを取得しますが、ValueConverter 内から Observable コレクションにアクセスできず、Datagrid から SelectedIndex 値にもアクセスできません。
コレクションへのポインターを持つ静的リソースとしてクラスを作成し、それを ConverterParameter として渡すこともできますが、それはちょっとばかげているように思えます。