我在 Silverlight 中使用 Prism 的事件聚合器,并且在订阅时遇到了困难。当代码点击订阅方法时,它只是挂起,永远不会进入下一行代码。如果我分解代码, _eventAggregator.GetEvent() 似乎返回事件的有效实例。代码肯定挂在“订阅”上。我在这里做错了什么?JobCompletedEvent 在另一个库中声明(这是该库的依赖项)。
public void CallMeWhenTheJobIsDone(Action callback)
{
if (_jobIsRunning)
_eventAggregator.GetEvent<JobCompletedEvent>().Subscribe((e) => callback(), ThreadOption.UIThread);
else
callback();
}
public class JobCompletedEvent: Microsoft.Practices.Prism.Events.CompositePresentationEvent<JobCompleted>
{ }
public class JobCompleted
{
}