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