【问题标题】:Composite WPF EventAggregator subscriptions being lost复合 WPF EventAggregator 订阅丢失
【发布时间】:2009-07-15 17:09:19
【问题描述】:

在我的复合 WPF 应用程序中,我有一个在用户双击控件时发布的事件。模块订阅事件并在必要时执行操作。

此事件似乎随机停止工作。有时当我运行应用程序时,我可以毫无问题地触发事件,有时我只能在模块停止接收事件之前触发几次。

当我查看调试器时,CAL EventAggregator 仍然有该事件,但该事件没有订阅。 EventAggregator 怎么会失去订阅?

【问题讨论】:

    标签: wpf events eventaggregator cal


    【解决方案1】:

    原来是垃圾收集器删除了订阅。我将不得不阅读内部结构,但是当我更换时

    this.mEventAggregator.GetEvent<SomeEvent>().Subscribe(SomeFunction);
    

    this.mEventAggregator.GetEvent<SomeEvent>().Subscribe(
        SomeFunction, ThreadOption.UIThread, true);
    

    它开始工作了。 UI 线程参数不是我的问题,但对于其他人来说,确保您也在正确的线程上处理事件可能很重要。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多