0

我正在使用 Prism 的事件聚合器,并从我的复合控件中发布一个事件。但是,如果开发人员在同一个表单上使用了两个控件实例,那么订阅者如何区分这些事件呢?最佳做法是什么?

谢谢你。

4

1 回答 1

1

通常我只是在 中传递调用者或 callerId,EventMessage如果调用者不是它所期望的,订阅者会忽略该消息

// Subscribe
eventAggregator.GetEvent<SomeEvent>().Subscribe(SomeMethod);
public void ShowNews(SomeEventMessage e)
{
    if (e.CallerId != this.Id)
        return;

    Do Work();
}

// Broadcast
eventAggregator.GetEvent<SomeEvent>().Publish(
    new SomeEventMessage { CallerId = this.Id });
于 2012-06-25T13:49:21.200 回答