これはMVVMで初めての試みです。私のアプリケーションのコアは、ジョシュ・スミスのmsdnの記事をベースにしています。また、私はmvvm lightフレームワークも使用しています。wpf mvvmコマンドを使用してビューモデル間でパラメータを渡す
私は、コマンドリストエリアと、ユーザコントロール/ビューをタブアイテムとして表示するワークスペースエリアを含むメインウィンドウを持っています。各ユーザコントロールには、対応するビューモデルがあります。 mainWindowには、私のコマンドリストを含むviewmodelもあります。また、workspace viewmodelsには、基本ワークスペースviewmodelがあります。
デフォルトのビューには、選択した項目を1つ持つことができるMappingSetsのマスターデータグリッドがあります。これらのコマンドは、選択したアイテムに基づいてMappingSetの詳細を処理するビューを持つ新しいタブアイテムを起動します。私はView/ViewModelを持っています。使用するコマンドに応じて、既存のデータを持たない新しいMappingSetを作成するためのTabitem、または編集用に選択した項目の詳細を含むTabitem、または選択項目を詳細に含むTabitemを返す必要があります。新しいMappingSetの基底
シーンを設定していて、私が解決できなかったのは、選択したMappingSetオブジェクトの識別子などのパラメータを渡すコマンド依存の方法で、上記の3つの状態のいずれかでビューモデルをインスタンス化しますか?たとえば、mvvmlightメッセンジャーはこのタスクに適していますか?
私のソリューションは、コマンドを保持しているmainWindow Viewモデルにデータを提供するためにMessengerを結合し、コマンドで起動したViewModelにパラメータとして渡しました。スティーブとマイクの答えの両方を組み合わせました。 –