2
我工作的應用程序上有一個主窗口和一些TextBlocks。用戶單擊TextBlock後,會創建一個新窗口並顯示與該TextBlock相關的數據圖表。我在不同的線程創建等新的圖表Wndow,如下:在不同的線程中創建WPF多個窗口
private void xTB_MouseDown(object sender, MouseButtonEventArgs e)
{
Thread _displayChartThread = new Thread(() =>
{
Window w = new Window()
w.Closed += (sender2, e2) =>w.Dispatcher.InvokeShutdown();
w.Show();
System.Windows.Threading.Dispatcher.Run();
});
_displayChartThread.SetApartmentState(ApartmentState.STA);
_displayChartThread.IsBackground = true;
_displayChartThread.Start();
}
的問題是,當你有多個圖表窗口打開,您關閉主窗口,圖表窗戶仍處於打開狀態,而不是被摧毀。我可以看到圖表窗口並不知道主窗口是其所有者,並且我無法將其Owner屬性設置爲創建圖表窗口的線程中的主窗口。
有關如何處理此問題的任何想法?我的意思是一旦主窗口關閉,所有的圖表窗口(在不同的線程中創建)也關閉。
在此先感謝。
您是否嘗試將新創建的窗口的父窗口設置爲主窗口? – MBen