1

私はMVVMに非常に慣れていないので、ある程度はWPFでさえも我慢してください...

アプリケーションの状態に応じてさまざまなタイプのビューモデル インスタンスを含む、メイン ウィンドウを持つ MVVM アプリケーションがあります。これらのビューモデルの 1 つは、アプリケーションを再起動し、別のユーザーとしてデータベースにログインするためのボタンを含むオプション画面です。 RelayCommand を使用して、親 (メイン ウィンドウ) にこのコマンドを処理させ、Window.Close() メソッド呼び出しを発行させるにはどうすればよいですか?

4

1 に答える 1

1

親ビュー モデルで RelayCommand を定義します。関連付けられたハンドラーは、親ビュー モデルでも定義されます。

ここで、子ビュー モジュールを作成するときに、Paremtn View モデル オブジェクトをコンストラクターの子 ViewModel に渡します (依存性注入パターン)。

これで、ビューまたはビュー モデルのコマンド バインディングをセットアップできます。

別の方法としては、relay コマンドの代わりに routed コマンドを実際に使用し、parentview モデルまでバブルアップさせることもできます。

于 2009-12-05T11:44:05.303 に答える