0

如果我想使用 MEF 在 Prism(Silverlight) 中创建 MVVM 应用程序,有人可以指导我应该如何设计(我不确定如何使用 MEF 导入或导出 ViewModel)。

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

我看到很少有人拥有 IView 和 IViewModel 接口,并且两者都拥有彼此的引用变量。

在某些地方,指南说 ViewModel 永远不应该指代 View。

如果有人可以提供我的代码片段,那就太好了。

4

2 回答 2

1

您是否阅读过Prism 文档?他们有一个关于实现 MVVM 模式的部分,讨论了连接视图模型和视图的不同技术。

您还可以使用诸如Caliburn.Micro之类的 MVVM 框架实现复合应用程序,该框架使用视图模型/视图绑定的约定。

于 2012-09-27T08:58:10.847 回答
0

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

[Import]
private MyViewModelClass ViewModel
{
    get { return this.DataContext as MyViewModelClass; }
    set { this.DataContext = value; }
}
于 2012-09-28T20:07:47.127 回答