【Prism】MEF版EventAggregation

引言

    第三弹是EventAggregation Demo的改造.

EventAggregation 

   EventAggregation事件聚集是Prism框架中的通信实现.它可以在松散的模块或者窗体之间引发事件和传递参数,从而达到通信的目的.用法简单,完成三部曲即可.

   1.继承CompositePresentationEvent<TPayload>,自定义事件类,如下

  public class FundAddedEvent : CompositePresentationEvent<FundOrder>
    {
        public FundAddedEvent();
    }

   2.订阅事件类,指定事件发生时执行的方法

eventAggregator.GetEvent<FundAddedEvent>().Subscribe(FundAddedEventHandler);

  3.给特定事件类推送消息

eventAggregator.GetEvent<FundAddedEvent>().Publish(fundOrder);

源码示例

http://pan.baidu.com/s/1mgjBcRu

小结

   我在示例中的A,B模块分别用了两种方法实现View和Region的绑定,一种是在Shell中的Load事件中利用RequestNavigate导航到对应的Region中,另一种就是比较常用的Module中绑定了.

   

原文地址:https://www.cnblogs.com/caizl/p/4677684.html