私はMVVMとUnityを使用しており、シェルビュー(MainViewとそのMainViewModel)を表示する方法を理解しましたが、他のウィンドウをインスタンス化する正しい方法を見つけることができませんでした。たとえば、新しいフォームを開いて表示する詳細ボタンその他の情報。
そのため、MVVMとUnityを使用してViewModelで他のビュー(WPFウィンドウ)をインスタンス化/呼び出す方法の一般的な方法を探しています。
私はMVVMとUnityを使用しており、シェルビュー(MainViewとそのMainViewModel)を表示する方法を理解しましたが、他のウィンドウをインスタンス化する正しい方法を見つけることができませんでした。たとえば、新しいフォームを開いて表示する詳細ボタンその他の情報。
そのため、MVVMとUnityを使用してViewModelで他のビュー(WPFウィンドウ)をインスタンス化/呼び出す方法の一般的な方法を探しています。
この答えを見てください:MVVMでのユーザーインタラクションの処理。対話サービスを利用して、新しいWPFウィンドウをインスタンス化することができます。
Mediatorパターンを利用して、新しいビューをインスタンス化するビューモデルからのメッセージを公開することにより、WPFで間接的な通信を提供することもできます。この回答SimpleMediatorの実装は、簡単な概要を示しています。
MVVMを使用するときに直面するシナリオの多くをカバーしているため、ユーザーインタラクションパターンのガイダンスを読むことをお勧めします。
この回答は、複数のビュー/viewModelをリンクする方法を理解するのに役立つ場合があります。私は通常、現在のウィンドウにさまざまなビューを表示するだけで、追加のウィンドウを開く必要はありません。
新しいウィンドウを開くためのMVVMソリューションを特に探している場合はお知らせください。