视图模型之间的通信和频繁更新



我用MVVM应用程序启动了一个新的WPF。主视图是一个有2列的网格:

  • 左边是一个只有两个级别的树视图(以及两个视图模型,每个级别一个)
  • 右侧是显示从右侧所选树视图项加载的数据的详细视图

我有两个问题:

  1. 我应该如何将右侧所选树视图项的Id传达给右侧列的详细信息视图中使用的视图模型
  2. 一旦Id在左侧部分已知,我将调用API来频繁刷新细节视图,最多每100-200毫秒刷新一次。INotifyPropertyChanged模式适合这种开发吗

我对问题1进行了一些搜索,我可以使用MVVM框架和/或中介模式。我只想让我的应用程序尽可能简单明了。谢谢你的帮助。

您只需将SelectedNode属性添加到视图模型中即可。选择树项目后,禁用当前SelectedNode上的更新,然后将SelectedNode属性设置为选定的树项目视图模型,然后在新节点上启动更新。细节侧仅绑定到主视图模型的SelectedNode属性/对象。

我会考虑一种消息传递模式(即pub/sub)。

签出EventAggregator或MessageBus。

这个想法是为您的视图模型广播消息以进行响应。

这与引发事件以供视图模型响应非常相似。

使用pub/sub模式提供了松散耦合。

相关内容

  • 没有找到相关文章

最新更新