ウィンドウのマスター セクションには、DataGrid が含まれています。詳細セクションには、マスターの DataGrid で現在選択されているレコードを編集できるフォームが表示されます。グリッドの SelectedItem はマスター VM にバインドされます。そのプロパティが変更されると、マスター VM は新しい EditViewModel を作成し、プロパティを介して公開します。ビューの詳細セクションは、このプロパティをその DataContext として使用します。
キャンセルなどのコマンドを実装する場合、それらをマスター ビュー モデルと詳細ビュー モデルのどちらに配置しますか?
詳細ビュー モデルは、ユーザーのレコードとのやり取りを担当します。この責任には削除が含まれると主張することができます。一方、マスター ビューはコレクションとのユーザー インタラクションを担当し、削除はコレクションを変更するため、削除機能をコレクションに配置する必要があると主張することもできます。
ありがとう、
ベン
編集:明確化-「コマンドを実装する」とは、サービスレイヤーに要求されたアクションを実行するように要求するコードを実装することを意味します。