1

リストのあるウィンドウがあります。リストエントリをクリックすると、そのアイテムの詳細ビューの新しいウィンドウが表示されます。

MVVMでこれを行う最もクリーンな方法は何ですか?container.Resolve <IViewType>()。Show()を実行し、Unityにすべての依存関係を作成させることを考えましたが、Show()を呼び出すだけではMVVMではないように聞こえます。ある種のWindowServiceマネージャークラスを作成する必要がありますか、それともこれはやり過ぎですか?コードが呼び出すことができるコードの層は何Show()ですか?

次に、開始ビューモデルから表示されている新しいウィンドウにアタッチされる新しいビューモデルにパラメーター(CustomerIDやProductIDなど)を渡すにはどうすればよいですか?

4

2 に答える 2

0

私はこのアプローチをMVVMとのダイアログに使用します。

私が今しなければならないのは、私のビューモデルから次のように呼び出すことだけです。

var result = this.uiDialogService.ShowDialog("Dialogwindow title goes here", dialogwindowVM);
于 2012-11-05T07:54:38.373 に答える
0

私は通常、ウィンドウとビューモデルのインスタンス化を処理し、ビューモデルをデータコンテキストとして設定するNavigationServiceを作成することを好みます。次に、親ビューモデル内からこれを呼び出すことができ、それらは分離されます。

于 2012-11-04T06:51:22.687 に答える