1

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

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

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

其中mef:ExportViewaMarkupExtension为 MEF 作曲家准备零件。

目前,...

  • [Module]View.xaml.cs文件中,我用ExportView(typeof([Module]ViewModel)). (typeof 参数指定了预期的 ViewModel。)
  • 我还用[ExportViewModel]属性标记了我的 ViewModel。
  • (这两个属性都派生自 ExportAttribute。)
  • 每个可执行文件的应用程序类也继承自一个ApplicationBase执行 MEF 组合并结合/链接 View/ViewModel 的类。

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

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

4

0 回答 0