我有大型 WPF-MVVM 应用程序,其中有 1 个订阅和 2 个发布模式。我订阅了一个活动,如下所示:
EventAggregator.GetEvent<StatusMessageEvent>().Subscribe(OnCommandLineStatusReturned, ThreadOption.UIThread);
回调方法是:
private void OnCommandLineStatusReturned(StatusMessageEventArgs args)
{
//some data to display
}
现在我必须使用两个不同的对象两次发布此事件。
private StatusMessageEventArgs statusMessageEventArgs;
private StatusMessageEventArgs responsestatusMessageEventArgs;
我在不同时间发布了这些实例,
EventAggregator.GetEvent<StatusMessageEvent>().Publish(statusMessageEventArgs);
EventAggregator.GetEvent<StatusMessageEvent>().Publish(responsestatusMessageEventArgs);
但是当我运行应用程序时,它行为不端。即在 10 次中,2 次回调方法根本没有被调用。是因为 2 发布同一订阅?