我有一个带有两个不同视图的 C# 应用程序。每个视图都有自己的 ViewModel。ViewModel 访问相同的模型。视图需要来自同一模型的不同格式的数据。ViewModel 处理格式设置和验证。
两个 ViewModel 应该能够以某种方式相互通信。例如,如果 ViewModel1 更新模型中的某些内容,ViewModel2 也应该更新他的视图。ViewModel 不必相互了解,它们应该在一侧发生变化时同步。
我发现了一些关于 Mediator 模式的旧帖子。这仍然是要走的路吗?我认为观察者模式在这里不起作用。我能想到的唯一替代方法是在两个 ViewModel 上创建一个接口,让它们相互交谈。
我认为您正在寻找的是您的视图模型的消息传递系统。如果您将它们松散耦合,您可以使用事件自己实现一个。棱镜库中还有一个事件聚合器类,它做同样的事情。一些类订阅,一些类发布他们的消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句