2011-06-20 7 views
0

私は現在、ジョシュ・スミスのクラスを使用してMVVMで初めての試みをしており、Unityを使用してPrism v4に移動しようとしています。しかし、モデルデータを実際に関連するビューモデルに渡す方法については、別々のモジュールに分かれていると混乱しているようです。モデルの混乱を見るためのモデルを提供するプリズム

アプリ自体には、サードパーティ製のビデオAPIインスタンスのリファレンスと、ビデオを記述して注釈を付けるメタデータの集まりを含むDocumentオブジェクトのコレクションがあります。

ビデオ処理要素を、IVideoServiceからのデータを必要とする別のモジュールに書きました。同様に、ドキュメントは別のモジュールで、ドキュメント、選択されたドキュメントなどのコレクションを返すIDocumentserviceによって提供されます。

どのモジュールでも解決できるように、IDocumentServiceのインスタンスをUnityで参照します。しかし、表示されているドキュメントが変更されたときに、関連するIVideoServiceをどのように抽出して表示するか分かりません。可能であれば、ドキュメントモジュールの依存関係をビデオモジュールに含めたくないので、IVideoServiceのインスタンスを登録してリフレッシュイベントをポストすると仮定します。ビデオモジュールのビューが更新されます。

しかし、私が2つ以上のドキュメントを同時に表示する能力があれば、その解決策はうまくいかないでしょう。

私の以前の非プリズム・アプリケーションでは、私のビューモデルにはモデル階層を反映する階層があり、すべてがバインディングとデータ・テンプレートを使って行われました。

これは、プリミティブでモジュールを初期化し、どこに表示するかを宣言する方法ではありません。さまざまなデモアプリを見て、コードがこれをクリアしていないので、何か根本的なものがあると私は誤解しています。

いずれかの啓発が評価されました!

よろしく

答えて

0

どう見ている文書が変更されます時にイベントを発生させるでしょうか?このイベントは、関連するIVideoServiceをイベント引数の一部として渡すことができます。

+0

私はそれを考慮しましたが、2つのドキュメントを開いているとどうなりますか。私はイベントをグローバルに公開することはできませんので、関連するドキュメントモジュールとビデオモジュールの間に配線が必要です。それは私を混乱させるものを設定しています。フレームワーク内の特定のインスタンス間で前記イベントを配線することを含む。 – rjw

+0

@rjw変更されたドキュメントを指定するイベント引数に2番目のパラメータを追加します。私は、2番目のパラメータがある値と等しい場合にイベントが処理される過去のようなことをしました(この場合は 'this'を使用していました) – Rachel

+0

意味があります。私は私のデータ階層の喪失を嘆いていて、私がフレームワークで何かを見逃していたと仮定していたと思います。しかし、私はこのようなイベントは、モジュールの依存関係などを保つための唯一の方法だと思います – rjw

関連する問題