EventPublication消息总线

序言

 

 

Prism

如何在Windows Forms应用程序中实现可组装式(Composite)的架构以及松耦合事件机制

 

 

 

EventHandler传递参数

       [EventPublication("CshisNet://App/CsAction", PublicationScope.Global)]
        public event EventHandler<DoOperationEventArgs> DoOperation;

        public void OnDoOperation(DoOperationEventArgs e)
        {
            DoOperation?.Invoke(this, e);
        }
View Code

 

namespace Microsoft.Practices.CompositeUI.EventBroker
{
    public enum PublicationScope
    {
        Global = 0,
        WorkItem = 1,
        Descendants = 2
    }
}

在controller中公布一个事件发布者,通过"topic://TestReport/DataRowAdded"来标识Publisher,默认的事件域为全局。也可以通过PublicationScope枚举来设置事件的作用域。事件作用域有以下三种:

PublicationScope.WorkItem :仅作用于引发当前发布的WorkItem实例

PublicationScope.Global:作用于引发当前发布的WorkItem所有实例

PublicationScope.Descendants:仅作用于引发当前发布的WorkItem实例,以及该WorkItem的任何级别的子WorkItem实例。

 

 

资料

https://www.cnblogs.com/ShaYeBlog/p/4609381.html

posted @ 2020-05-31 14:22  ~沐风  阅读(327)  评论(0编辑  收藏  举报