このサイトで、データグリッドの変更の処理に関するかなりの数の投稿を読みました。一般的なコンセンサスは、データグリッド アイテムは INotifyPropertyChanged を実装し、OnPropertyChanged() で必要なことをすべて実行する必要があるようです。ただし、ビューモデルとモデルを考慮した場合の推奨される方法はよくわかりません。
私のモデルに多くのフィールドと、異なるタイプのアイテムの複数のリストがあるとしましょう。アイテムのリストは、対応するビューのデータグリッドに ItemSource としてバインドされます。私のビュー モデル (またはモデル) では、フィールドやリストのアイテムが変更されたかどうかを示すフラグ (「IsDirty」など) が必要です。
対応する OnPropertyChanged() がビュー モデルで呼び出されるため、フィールドに加えられた変更の処理は簡単です。ただし、データグリッド アイテムの OnPropertyChanged() はアイテム自体で呼び出されます。
データグリッドのアイテムの 1 つに変更が加えられたことを親ビュー モデル (またはモデル) に知らせるにはどうすればよいですか? 明らかに、各項目にその親ビュー モデル (またはモデル) への参照を与えることができますが、より良い推奨される方法があるかどうか疑問に思います。
ありがとう。