2012-02-20 49 views
0

在PRISM,我有两个模块:PRISM工厂<ViewModel>的示例?

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

而且我希望有一个工厂的设计,你可以选择模块中的壳显示(我使用Unity)

我我刚刚为模型创建了工厂设计,从未在PRISM中为Views创建过。

回答

1

设置它不应该太困难。关于我的头,您可能会想要为模块导出(实现IModule并具有ModuleExport属性的类)添加一些友好的上下文名称,以用于显示可用的模块。然后反射所有加载的程序集并找到你的ModuleExport,切换到一个自定义接口(例如IMyModuleInfo),这将允许你得到你的友好名称。您可以将所有这些反射代码放在Shell的ViewModel中,从中可以返回IMyModuleInfo列表,绑定到您希望为用户显示的任何Shell列表。您可以使用IModule实现为视图工厂,或者可以让IMyModuleInfo返回程序集名称,从中可以反映所有可用视图。

希望有所帮助。