具有相同模型和两个视图的两个 ViewModel 之间的通信

J·多伊

我有一个带有两个不同视图的 C# 应用程序。每个视图都有自己的 ViewModel。ViewModel 访问相同的模型。视图需要来自同一模型的不同格式的数据。ViewModel 处理格式设置和验证。

两个 ViewModel 应该能够以某种方式相互通信。例如,如果 ViewModel1 更新模型中的某些内容,ViewModel2 也应该更新他的视图。ViewModel 不必相互了解,它们应该在一侧发生变化时同步。

我发现了一些关于 Mediator 模式的旧帖子。这仍然是要走的路吗?我认为观察者模式在这里不起作用。我能想到的唯一替代方法是在两个 ViewModel 上创建一个接口,让它们相互交谈。

雷扎·努尔巴赫什

我认为您正在寻找的是您的视图模型的消息传递系统。如果您将它们松散耦合,您可以使用事件自己实现一个。棱镜库中还有一个事件聚合器类,它做同样的事情。一些类订阅,一些类发布他们的消息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章