如何使用MEF在MVVM中切换视图

时间:2010-06-25 05:41:33

标签: mvvm mef

我有一个单独的Model和ViewModel对象,并希望以编程方式一次创建和附加WPF视图。可以动态创建视图,例如通过选择菜单项(某处)。新创建的视图将处理查看ViewModel的任何旧视图。然后它将使自己成为该ViewModel的当前视图,在一些WPF窗口中显示它作为视图UserControl的容器。我正在使用MEF进行IoC。重要的是Model和ViewModel对象只创建一次。使用MEF实现这一目标的方法是什么?

2 个答案:

答案 0 :(得分:2)

您可以查看 WPF Application Framework (WAF) ViewModel Writer 示例应用程序。它们展示了如何使用MVVM和MEF切换视图。

答案 1 :(得分:0)

我在testapps中使用viewmodel第一种方法。所以我通过mef实例化viewmodel然后wpf + datatemplates做其余的事情。我所要做的就是将我的实际viewmodel绑定到contentcontrol.content。 你说ViewModel对象刚创建一次很重要。你用mef和creationPolicy.Shared或Lazy<>来实现这个目标。进口。考虑到这一点,我认为ViewModel-First是你应该去的方式。它很简单,你不需要额外的定位器或监视器:)