WPF MVVM在视图之间进行通信

时间:2017-07-10 12:43:52

标签: c# wpf mvvm

让我们假设我在View A中有一个按钮,它应该触发View B的功能。这最好如何做?我可以使用Mediator但我宁愿避免使用它,主要用它来进行视图模型之间的通信,其中绝对没有办法。

以下是我的想法:

enter image description here

所以基本上我们有一个拦截器类来处理多个视图之间的通信。该视图不了解其他视图。拦截器充当它们之间的信使。

在MVVM中思考是否可以?

1 个答案:

答案 0 :(得分:3)

大多数MVVM框架都包含一个用于此目的的中介。

MvvmLight中,它被称为Messenger,在Prism中称为EventAggregator。例如。

中介可以用于以松散耦合的方式在任何两个组件之间进行通信,无论是视图还是视图模型。

所以你基本上在这里描述了中介模式。不要重新发明轮子:)