【发布时间】:2018-01-26 06:47:06
【问题描述】:
我必须开发一个应用程序,它将与通过串行端口/USB 连接的外部设备进行通信。
这是基本 UI 的示意图:
有一个 MainWindow(View) 和 MainWindowViewModel。
在左侧,有一个子视图列表(带有复选框),在右侧,有一个内容控件(或适当的页面等)。选择适当的子视图后,将显示其各自的子视图。每个子视图都包含配置选项(以 Radio、Checkbox、Dropdown 等形式)。 用户根据需求配置选项,最后点击Read按钮(MainWindow的一部分)。 按下读取按钮后,将根据所选的子视图开始与串行端口/USB 的通信。
设计此类应用程序的最佳方法是什么?
- 每个子视图都有自己的 ViewModel(属性与各自的视图绑定),它们将彼此独立地与串行端口通信。在这种情况下,状态机将如何处理,因为一次只允许一个与串行端口的连接?
- MainWindowViewModel 将读取所有选项,并开始通信,并填写子视图中的所有数据。 (这将导致一个巨大的 ViewModel,因为每个子视图都有很多选项/设置需要处理)
- 还有其他方法吗?
【问题讨论】:
标签: c# mvvm serial-port viewmodel mvvm-light