首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

prism4.1中施用事件

2012-06-26 
prism4.1中使用事件基于prism4.1的事件,主要分为一下几个步骤1. 创建一个项目,供事件的触发和订阅方共同引

prism4.1中使用事件

基于prism4.1的事件,主要分为一下几个步骤

1. 创建一个项目,供事件的触发和订阅方共同引用使用.

????a. 事件类继承自 CompositePresentationEvent<T>对象

???????

public class FundAddedEvent : CompositePresentationEvent<FundOrder>    {    }

?

??? b. T 为事件触发或订阅时,传递的数据对象

???

public class FundOrder    {        public string CustomerId { get; set; }        public string TickerSymbol { get; set; }    }

?

2. 创建ModuleA项目,做为事件触发者,需要引用第一步中创建的项目

??? 触发事件的关键代码如下:

???

//构造事件触发传递的数据FundOrder fundOrder = new FundOrder();fundOrder.CustomerId = View.Customer;fundOrder.TickerSymbol = View.Fund;//触发事件eventAggregator.GetEvent<FundAddedEvent>().Publish(fundOrder);

?

3. 创建ModuleB项目,作为事件订阅者,需要引用第一步中创建的项目

??? 订阅的关键代码如下:

private SubscriptionToken subscriptionToken;//省略n行代码FundAddedEvent fundAddedEvent = eventAggregator.GetEvent<FundAddedEvent>();//已经订过,则先取消订阅if (subscriptionToken != null) {      fundAddedEvent.Unsubscribe(subscriptionToken);}//订阅事件subscriptionToken = fundAddedEvent.Subscribe(FundAddedEventHandler, ThreadOption.UIThread, false, FundOrderFilter);

?

详细代码在prism4.1的安装包中有路径为: Prism4.1_Source\Source\Quickstarts\EventAggregation

?

?附prism4.1下载地址: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=28950

热点排行