代码之家  ›  专栏  ›  技术社区  ›  Cameron MacFarland

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

  •  2
  • Cameron MacFarland  · 技术社区  · 17 年前

    我有一个与VisualStudio界面相似的应用程序,其中有一个文档列表,可以打开、编辑和保存。每个文档可以是不同的类型,并具有不同的编辑器。

    MenuItem . 我想做的是让Save命令只保存活动文档。是否有使用MVVM将文档VM连接到保存的标准模式 梅努伊特姆 ?

    1 回复  |  直到 17 年前
        1
  •  1
  •   RB Davidson    17 年前

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

    1. 为SaveDocument命令创建一个具有存根的接口。
    2. 让文档的ViewModel实现该接口。
    3. 让包含当前文档列表的主应用程序具有返回用户当前关注的viewmodel文档的属性。为了辩论起见,把它叫做CurrentDocument。让WPF数据绑定在从一个文档切换到另一个文档时设置此选项。
    4. 让save命令使用CurrentDocument属性获取文档。检查它是否为null并实现适当的接口。如果所有检查都通过,则调用ViewModel文档的SaveDocument命令。