【问题标题】:MVVM Multiple ViewModels Communication via Serial Port/USB通过串行端口/USB 进行 MVVM 多个 ViewModel 通信
【发布时间】:2018-01-26 06:47:06
【问题描述】:

我必须开发一个应用程序,它将与通过串行端口/USB 连接的外部设备进行通信。

这是基本 UI 的示意图:

UI Diagram Concept

有一个 MainWindow(View) 和 MainWindowViewModel。

在左侧,有一个子视图列表(带有复选框),在右侧,有一个内容控件(或适当的页面等)。选择适当的子视图后,将显示其各自的子视图。每个子视图都包含配置选项(以 Radio、Checkbox、Dropdown 等形式)。 用户根据需求配置选项,最后点击Read按钮(MainWindow的一部分)。 按下读取按钮后,将根据所选的子视图开始与串行端口/USB 的通信。

设计此类应用程序的最佳方法是什么?

  1. 每个子视图都有自己的 ViewModel(属性与各自的视图绑定),它们将彼此独立地与串行端口通信。在这种情况下,状态机将如何处理,因为一次只允许一个与串行端口的连接?
  2. MainWindowViewModel 将读取所有选项,并开始通信,并填写子视图中的所有数据。 (这将导致一个巨大的 ViewModel,因为每个子视图都有很多选项/设置需要处理)
  3. 还有其他方法吗?

【问题讨论】:

    标签: c# mvvm serial-port viewmodel mvvm-light


    【解决方案1】:

    有一个与视图模型分开的类,该类将进行通信并使用 MvvmLight NotificationMessage 类向该类发送数据并从该类接收数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-02
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 2015-03-23
      • 1970-01-01
      相关资源
      最近更新 更多