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()。我得到下一个异常:
调用线程不能访问此对象,因为不同的线程拥有它。
我在做什么错,可能是不正确关闭创建线程?