使用Prism for UWP应用程序在松耦合组件之间进行通信



我是Prism的新手,一直在考虑设计一个具有2个XAML视图的UWP应用程序。这两个视图是松散耦合的,我想在这两个观点之间传递消息。一个视图将有一个按钮,单击该按钮后,将向另一个视图发送一条消息,该消息将在该视图的列表中突出显示和项目。我正在阅读Prism文档,对什么是最好的沟通形式感到困惑?特别是我的案例将受益于解决方案命令或使用IEvent聚合器。引用这篇文章与Prism跨模块交流?我很想了解为什么IEeventAggregator是一个很好的解决方案

使用事件聚合器的目的是消除事件或消息的生产者和消费者之间的紧张关系。

如果要将消息从应用程序中的一个组件发送到另一个组件,可以通过引发事件或调用对使用者具有强引用的方法来执行此操作。这样做的缺点是在订阅者和发布者类之间创建了强依赖关系,这使得应用程序的维护更加困难和昂贵。

解决方案是在发布者和订阅者之间引入一个事件聚合器。然后订阅者和发布者只知道事件聚合器。它们对彼此一无所知,这意味着它们可以独立进化。

有关这个概念的更多信息,请参阅这篇博客文章。

编辑:为了回答您的实际问题,解决方案命令通常在用户交互期望立即行动时使用,而事件聚合则在没有直接行动反应期望时使用。

有关详细信息,请参阅文档。

最新更新