Avalonia 試圖從非UI主線程操作UI控件的錯誤訊息[Call from invalid thread] 和 解決方法 [Dispatcher]
Avalonia 試圖從非UI主線程操作UI控件的錯誤訊息[Call from invalid thread] 和 解決方法 [Dispatcher]
資料來源: copilot + 自己
code
private async void MainTimmer_Tick(object sender, ElapsedEventArgs e)//Timer事件函數 { if (!m_blnMainReady) { return; } MainTimmer.Stop();//防止重複執行 //Interval=100ms if (ClosingHandover.m_blnRun)//因為無法在關帳之後立即在執行頁面跳轉,只好把程式放到Timer { ClosingHandover.m_blnRun = false; LogFile.Write("MainPage Leave(ClosingHandover)"); syncthreadStop(0); printthreadStop(0); DeleteTimmer(); ExternalPopup.mainWindow = null; LogFile.Write("MainPage Leave(LogoutBtn_Clicked)"); Return2LoginUI(); return; } Dispatcher.UIThread.InvokeAsync(async () => { await POS_INVAPI.InitUI();//發票狀態初始化中 //await ExternalPopup.WaitMessageBox(0, TestWaitMessageBoxFun, "Test"); await ExternalPopup.MessageBox(0, "test"); }); } //timmer.Stop();