【发布时间】:2012-04-25 12:13:53
【问题描述】:
在我的主窗口(Thread A)中,我启动了一个新线程(Thread B),它在用户等待时执行一些工作。
如果出现错误或需要用户提供额外信息,线程 B 会触发事件,线程 A 会监听这些事件。
在线程 A 的事件侦听器中,我需要向用户显示对话消息,我有一个自定义对话窗口并使用 dialogWindow.showDialog() 显示它。这工作正常,但是当我尝试设置对话框的所有者时会导致错误,我这样做dialogWindow.Owner = Window.GetWindow(this)。
我得到的错误是:调用线程无法访问这个对象,因为另一个线程拥有它。
侦听从不同线程触发的事件的正确方法是什么?
【问题讨论】: