2
根據以下代碼創建Window
時,出現「Invalid window handle
」異常。這是在一個單獨的線程上調用的。它不是每次拋出,而是隨機發生。此外,我無法查看異常堆棧跟蹤和它說:「{Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.}
」爲什麼我在使用其他線程創建窗口時,有時會出現「無效窗口句柄」異常
private void ShowDialog()
{
Thread thread = new Thread(() =>
{
waitContainer = MakeSimpleWindow();
this.waitContainer.Closed += new EventHandler(waitingWindow_Closed);
waitContainer.ShowDialog();
System.Windows.Threading.Dispatcher.Run();
});
thread.SetApartmentState(ApartmentState.STA);
thread.IsBackground = true;
thread.Start();
}
public Window MakeSimpleWindow()
{
Window w = new Window(); // Exception occurs from here
w.Title = Attributes[MessageBoxAttribute.message];
return w;
}