多文档应用程序的MVVM设计?

时间:2009-06-28 23:40:30

标签: .net wpf mvvm prism

我有一个与Visual Studio具有类似界面的应用程序,因为有一个文档列表可以打开,编辑保存。每个文档可以是不同类型的,并且具有不同的编辑器。

我还有一般保存MenuItem。我想要做的是保存命令只保存活动文档。是否存在使用MVVM将文档VM连接到Save MenuItem

的标准模式

1 个答案:

答案 0 :(得分:1)

我不知道标准方法,但我会尝试以下内容:

  1. 创建一个具有SaveDocument命令存根的接口。
  2. 让您的文档的ViewModel实现该接口。
  3. 让拥有当前文档列表的主应用程序具有返回用户当前关注的viewmodel文档的属性。为争辩而称之为CurrentDocument。让WPF数据绑定在从doc切换到doc时设置它。
  4. 让您的save命令使用CurrentDocument属性来获取文档。检查它是否为null并实现适当的接口。如果所有检查都通过,请为ViewModel doc调用SaveDocument命令。