使用Prism中的Silverlight实现MVVM的正确方法—首选MEF

使用Prism中的Silverlight实现MVVM的正确方法—首选MEF,mvvm,prism,silverlight-5.0,Mvvm,Prism,Silverlight 5.0,如果我想使用MEF在Prism(Silverlight)中创建MVVM应用程序(我不知道如何使用MEF导入或导出ViewModel),有人能告诉我应该采用什么设计吗 我看到很少有文章使用DataContext(在XAML或视图的代码隐藏中)将ViewModel与视图绑定 我看到有IView和IViewModel接口的人很少&他们都有彼此的引用变量 在某些地方,指导方针说ViewModel不应该引用视图 如果有人能给我提供代码片段,那就太好了。你读了吗?他们有一节讨论了连接viewmodel和vi

如果我想使用MEF在Prism(Silverlight)中创建MVVM应用程序(我不知道如何使用MEF导入或导出ViewModel),有人能告诉我应该采用什么设计吗

我看到很少有文章使用DataContext(在XAML或视图的代码隐藏中)将ViewModel与视图绑定

我看到有IView和IViewModel接口的人很少&他们都有彼此的引用变量

在某些地方,指导方针说ViewModel不应该引用视图

如果有人能给我提供代码片段,那就太好了。

你读了吗?他们有一节讨论了连接viewmodel和view的不同技术


您还可以使用MVVM框架实现复合应用程序,例如使用viewmodel/view绑定约定。

我将在代码背后使用setter注入绑定DataContext。视图和视图模型都是由MEF创建的

[Import]
private MyViewModelClass ViewModel
{
    get { return this.DataContext as MyViewModelClass; }
    set { this.DataContext = value; }
}
一个简单的“代码片段”不足以解释您需要什么。如下文所述,您最好阅读Prism文档,并查看其中包含的不同示例应用程序。StockTrader应用程序将向您展示MEF和MVVM原则。