使用MEF导出MVVM视图

时间:2011-12-02 20:22:48

标签: wpf xaml mvvm mef markup-extensions

我正在构建的应用程序有几个(10+)[Module]个可执行文件。

我想在[Module]View.xaml文件中指定类似的内容。

<Window ... 
    mef:ExportView ExpectingViewModel={x:Type [Module]ViewModel}
>
</Window>

其中mef:ExportViewMarkupExtension,为MEF作曲家准备部分。

目前,......

  • [Module]View.xaml.cs文件中,我标记了我的视图,其中包含ExportView(typeof([Module]ViewModel))属性。 (typeof param指定了预期的ViewModel。)
  • 我还使用[ExportViewModel]属性标记我的ViewModel。
  • (两个属性都来自ExportAttribute。)
  • 每个可执行文件的Application类还继承自ApplicationBase类,该类执行MEF组合并与View / ViewModel结合/链接。

现在,我希望能够从[Module]View.xaml.cs中删除所有代码隐藏,以防止我和我的同事忘记标记代码隐藏文件。

我认为这需要自定义MarkupExtension。我熟悉MEF的基础知识,以及使用元数据创建自定义导出属性。但是,我认为这个解决方案需要从MEF primitives中获得一些。

0 个答案:

没有答案