私はMVVMパターンを学ぼうとしています。私が抱えている主な問題は、コマンド オブジェクトを宣言、作成、バインドする場所を学習することです。
2 つの例:
スイッチ ボードまたはメイン メニューのように機能するメイン フォームがあります。選択ボタン 1 とビュー 1 が表示され、選択ボタン 2 とビュー 2 が表示されます。偉大な。ここで、メイン フォームに戻りたいので、ビュー 1 (およびビュー 2) に「メイン メニュー」というボタンが必要です。「ShowMainMenu」コマンドにバインドできるようにするには、コマンドとコマンド ハンドラをどこで定義すればよいですか? View2ViewModel でそれらを作成できますが、メイン ビューを表示するアクセス権がありませんか? または、MainView モデルで thim を作成することもできますが、子ビュー モデルでそれらにバインドするにはどうすればよいですか (mvvm の推奨事項に従って RelayCommand obejct を使用しており、親にバブルアップしません)。
1 つのメイン ウィンドウ ビューに 2 つのユーザー コントロールが表示されています。これらを MainView、UC1、および UC2 と呼びましょう。これらのそれぞれには、ViewModel MainViewModel、UC1ViewModel、UC2View Model があります。UC1 に「AddItem」というボタンがあります。UC2 のリストにアイテムを追加する必要があります。「AddItemCommand」を設定してバインドする正しい方法は何ですか。コマンドは、MainViewModel、Uc1ViewModel、または UC2ViewModel にある必要がありますか? そして、どのように私はそれにバインドする必要があります。
ご協力いただきありがとうございます。