首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复合WPF EventAggregator订阅丢失

复合WPF EventAggregator订阅丢失
EN

Stack Overflow用户
提问于 2009-07-15 17:09:19
回答 1查看 1.2K关注 0票数 4

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-15 17:26:49

原来是垃圾回收器在删除订阅。我得好好研究一下内部结构,但当我换掉

代码语言:javascript
复制
this.mEventAggregator.GetEvent<SomeEvent>().Subscribe(SomeFunction);

使用

代码语言:javascript
复制
this.mEventAggregator.GetEvent<SomeEvent>().Subscribe(
    SomeFunction, ThreadOption.UIThread, true);

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1132690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档