Avalonia 試圖從非UI主線程操作UI控件的錯誤訊息[Call from invalid thread] 和 解決方法 [Dispatcher]

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(); 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *