我正在构建的应用程序有几个(10+)[Module]
个可执行文件。
我想在[Module]View.xaml
文件中指定类似的内容。
<Window ...
mef:ExportView ExpectingViewModel={x:Type [Module]ViewModel}
>
</Window>
其中mef:ExportView
是MarkupExtension
,为MEF作曲家准备部分。
目前,......
[Module]View.xaml.cs
文件中,我标记了我的视图,其中包含ExportView(typeof([Module]ViewModel))
属性。 (typeof param指定了预期的ViewModel。)[ExportViewModel]
属性标记我的ViewModel。 ApplicationBase
类,该类执行MEF组合并与View / ViewModel结合/链接。 现在,我希望能够从[Module]View.xaml.cs
中删除所有代码隐藏,以防止我和我的同事忘记标记代码隐藏文件。
我认为这需要自定义MarkupExtension。我熟悉MEF的基础知识,以及使用元数据创建自定义导出属性。但是,我认为这个解决方案需要从MEF primitives中获得一些。