让我们假设我在View A中有一个按钮,它应该触发View B的功能。这最好如何做?我可以使用Mediator但我宁愿避免使用它,主要用它来进行视图模型之间的通信,其中绝对没有办法。
以下是我的想法:
所以基本上我们有一个拦截器类来处理多个视图之间的通信。该视图不了解其他视图。拦截器充当它们之间的信使。
在MVVM中思考是否可以?
答案 0 :(得分:3)
大多数MVVM框架都包含一个用于此目的的中介。
在MvvmLight
中,它被称为Messenger
,在Prism
中称为EventAggregator
。例如。
中介可以用于以松散耦合的方式在任何两个组件之间进行通信,无论是视图还是视图模型。
所以你基本上在这里描述了中介模式。不要重新发明轮子:)