使用Prism与模块进行通信?

Jim*_*_CS 5 c# wpf prism

从Prism文档开始,它说有四种方式可以跨模块进行通信 -

  • 解决方案指挥
  • 地区背景
  • 共享服务
  • 事件聚合

    1. 我可以选择其中一种方法并将其应用于所有跨模块通信吗?或者我应该根据情况使用不同的方法?
    2. 特别是,在我正在编写的应用程序中,我在一个模块中有按钮,当用户点击它时,我想在另一个模块中启动一个线程.我会在这种情况下使用哪种通讯方式?

dec*_*one 7

答案1:是的,您可以使用单一方法.大多数时候,这样做会更容易.

答2:我建议你使用Event Aggregation来做到这一点.这样,按钮单击和线程执行之间的耦合非常松散.这样,听力模块只需知道单个事件,无论它从何处被引发.

由于它是单个通知而不是一堆相互关联的通知/通信,因此最好聚合事件而不是创建共享服务.