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

标签 .net wpf mvvm prism

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

我也有一般 保存MenuItem .我想要做的是让 Save 命令只保存事件文档。是否有使用 MVVM 将文档 VM 连接到 Save MenuItem 的标准模式? ?

最佳答案

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

  • 为您的 SaveDocument 命令创建一个具有 stub 的接口(interface)。
  • 让您的文档的 ViewModel 实现该接口(interface)。
  • 让具有当前文档列表的主应用程序具有返回用户当前关注的 View 模型文档的属性。为争论起见,将其称为 CurrentDocument。当他们从 doc 切换到 doc 时,让 WPF 数据绑定(bind)设置这个。
  • 让您的保存命令使用 CurrentDocument 属性来获取文档。检查它是否不为空并实现适当的接口(interface)。如果所有检查都通过,请为 ViewModel 文档调用 SaveDocument 命令。
  • 关于.net - 多文档应用程序的 MVVM 设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056055/

    相关文章:

    c# - 单击时 WPF DataGrid 给出 ArgumentOutOfRangeException

    C#/.Net : Returning a file to the browser?

    c# 应用程序更新程序从内存运行?

    c# - IActionContextAccessor 为空

    c# - 如何将 StackPanel 绑定(bind)到非 ObservableCollection?

    wpf - 如何设置d的属性:DesignInstance in XAML?

    c# - SendKeys 与游戏 : with some characters it works, 但有一些它没有

    wpf - 实时应用程序的 MVVM 设计

    c# - 带有 MVVM 和 DataAnnotations 的 WPF,UserControl 中的验证错误

    c# - 将 App.xaml 设置为 UserControl WPF(以连接定位器)