EventPublication消息总线

序言

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

原文地址:https://www.cnblogs.com/cnki/p/13003534.html