データグリッドの行を追加、挿入、および削除するためのボタンとショートカットを備えた非常に単純なインターフェイスで遊んでいます(基になるバインドされたコレクション)。また、元に戻すスタックを実装する必要もあります。しかし...このコントロールの内部ロジックをどうするかわかりません。デフォルトでは、DataGrid は新しい行を自動的に削除または追加でき、ユーザー入力 (Esc、F2 など) に対して他の多くの処理を実行するため、バインドされたデータが暗黙的に変更されます。
コマンドは VM 側で実行されるため、元に戻すスタックはその (または M の) ビジネスでもありますが、DataGrid には DataGrid への内部的に事前定義されたバインディングが含まれています。コマンド。そして、データへの変更を「監視」する簡単な方法がわかりません。
理想的な MVVM フローについての私の理解は次のようなものです: ユーザー アクション (ビュー) -> コマンド (VM) -> コマンド実行 + スタック操作の取り消し。(VM-M) -> VM の変更に合わせてそれぞれ UI が変更されます。
私は混乱しており、実装に関する良いアドバイスが必要です。