0
我需要在處理某些操作期間顯示帶有微調框的窗口。 這個窗口應該是模型,所以我使用的ShowDialog()方法:在並行線程中顯示模式對話框
void ShowDlg() {
Thread WindowThread = new Thread(() =>
{
SpinnerWindow spinnerWindow = new SpinnerWindow();
spinnerWindow.ShowDialog();
System.Windows.Threading.Dispatcher.Run();
});
WindowThread.SetApartmentState(ApartmentState.STA);
WindowThread.Start();
}
那麼一些過程完成後,我試圖關閉這個模式窗口:
WindowThread.Interrupt();
if (!WindowThread.Join(2000))
{
WindowThread.Abort();
}
,一切運作良好,直到我嘗試第二次調用ShowDlg()。我得到下一個異常:
調用線程不能訪問此對象,因爲不同的線程擁有它。
我在做什麼錯,可能是不正確關閉創建線程?