Prism研究(for WPF & Silverlight)8.Event机制

终于说到Event了。阅读本篇之前,请参阅我的另一篇关于事件的文章:CLR笔记:10.事件

    Prism自带的示例与MVP模式的耦合性太大了,以至于看不出Prism框架中独特的Event机制。于是,我自己写了一个超级简单的Sample,以飨读者。

    示例代码下载:code.zip

    事件的实现很简单,以下是傻瓜化Step by Step

    1.       在公共类库中定义事件AddNotamsEvent

    public class AddNotamsEvent : CompositePresentationEvent<NotamsInfo> { }

 

    其中,NotamsInfo为一个自定义的实体:

    public class NotamsInfo

    {

        public string IATA

        {

            get;

            set;

        }

 

        public string ICAO

        {

            get;

            set;

        }

    }
 

    当然也可以直接使用简单类型,这样就不用自定义实体了:

    public class AddAircraftEvent : CompositePresentationEvent<int>


    2.       在事件发布方:

            News news = new News() {

                Title = "Bao's demo was published.",

                Content = "This message is wonderful."

            };

 

            eventAggregator.GetEvent<NewsAddedEvent>().Publish(news);

    3.       在事件订阅方:

            this.eventAggregator.GetEvent<NewsAddedEvent>().Subscribe(ShowMessage);
 

    这里,ShowMessage是一个具有News类型参数的方法:

        public void ShowMessage(News news)

        {

            tbSimpleParam.Text = news.Title;

        }

 

    这样,一个完整的Prism事件机制就完成了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值