3
在我的WPF應用程序啓動時,我必須加載一些數據。這可能需要幾秒鐘,所以我構建了一個帶有文本進度文本和一個欄的啓動畫面。屏幕是由它自己的線程中運行:帶自己線程的WPF啓動畫面在其他窗口後面挖掘
public static class SplashScreen
{
public static void ShowSplash()
{
if (_SplashThread == null)
{
_SplashThread = new Thread(() =>
{
_Splash = new WISplash();
_Splash.Show();
_Splash.Closed += (sender1, e1) => _Splash.Dispatcher.InvokeShutdown();
System.Windows.Threading.Dispatcher.Run();
});
_SplashThread.SetApartmentState(ApartmentState.STA);
_SplashThread.IsBackground = true;
_SplashThread.Start();
}
}
}
WISplash
的基類是Window
。
編輯:我必須更精確地陳述: 我的啓動畫面沒有相同的任務欄按鈕。事實上,它根本沒有按鈕。我已經上傳了一個基本項目來演示發生了什麼: MyApp.zip
是否有可能給啓動畫面提供與主窗口相同的任務欄按鈕?
爲什麼不在後臺線程上加載數據,而不是在單獨的線程上顯示啓動畫面? –
不幸的是,這不是選項,因爲數據決定了GUI的一部分。 – Norbert
你是什麼意思'綁定'? –