【C# WPF】登錄需求多線程中報錯 “調用線程無法訪問對象,因為另一個線程擁有該對象“


造成這個錯誤的原因很多,以下是我在多線程中遇到的

我的思路,開啟一個線程A登錄。因為服務器響應登錄成功需要在主線程做一些操作,我這邊需要用到主線程的窗口對象,我把窗口對象傳到線程 A,直接用實例方法會有這個錯誤,所以WPF提供了一個方法

Tip: 但是在Java swing 直接傳 JFrame 對象是可以的

// 這里的this.window就是窗口實例,我是通過屬性傳到線程A類
this.window.Dispatcher.Invoke(new Action(() => {
        // 進行原來窗口對象的操作 do soming...
}));


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM