【C#】WPF多线程登录需求中报错 “调用线程无法访问对象,因为另一个线程拥有该对象“

造成这个错误的原因很多,以下是我在多线程中遇到的

我的思路,开启一个线程A登录。因为服务器响应登录成功需要在主线程做一些操作,我这边需要用到主线程的窗口对象,我把窗口对象传到线程 A,直接用实例方法会有这个错误,所以WPF提供了一个方法

Tip: 但是在Java swing 直接传 JFrame 对象是可以的

// 这里的this.window就是窗口实例,我是通过属性传到线程A类
this.window.Dispatcher.Invoke(new Action(() => {
        // 进行原来窗口对象的操作 do soming...
}));
posted @ 2019-03-30 11:20  白超华  阅读(1484)  评论(0编辑  收藏  举报