2012-02-20 9 views
0

PRISMでは、私は2つのモジュール持っている:PRISMに工場<ViewModel>の例?

|_ ModuleA 
| |_ViewA 
| |_ViewModelA 
| |_ModelA 
| 
|_ ModuleB 
    |_ViewB 
    |_ViewModelB 
    |_ModelB 

をそして私はあなたがシェルに表示するモジュールを選択することができ、工場の設計(私はユニティを使用しています)

Iを持つようにしたいですモデルのための工場設計を作成しただけで、PRISMのビューには決してしませんでした。

答えて

1

これを設定することはあまり難しいことではありません。私の頭の上から、おそらくあなたのモジュールエクスポート(IModuleを実装し、ModuleExport属性を持つクラス)に何らかのフレンドリーなコンテキスト名を追加して、利用可能なモジュールを表示することができます。ロードされたアセンブリをすべて反映してModuleExportsを見つけて、わかりやすい名前を取得できるカスタムインターフェイス(たとえばIMyModuleInfo)に切り替えます。この反射コードをシェルのViewModelに置くことができます。このViewModelからIMyModuleInfoのリストを返すことができ、ユーザーに表示したいShellリストにバインドすることができます。 IModule実装をビューファクトリとして使用することも、IMyModuleInfoでアセンブリ名を返すこともできます。このアセンブリ名から、使用可能なすべてのビューを反映させることができます。

希望に役立ちます。

関連する問題