引言
第三弹是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中绑定了.