我的项目中有2个窗口。
一个是我希望在启动时显示的“正在加载”窗口,而另一个窗口正在加载。
另一个是主窗口,它运行多个查询,因此加载需要一些时间。
当前,我有一个线程显示启动窗口,然后使用第二个线程加载主窗口。
但是,一旦主窗口最终加载完毕,我希望隐藏启动窗口,但是我不确定如何执行此操作,因为它是另一个线程的一部分。
由于将主窗口加载到同一线程中,因此将两个窗口放在同一线程中会导致启动窗口滞后很多。
有什么建议吗?
private void Application_Startup(object sender, StartupEventArgs e)
{
Thread MainWindow_Show = new Thread(new ThreadStart(() =>
{
MainWindow MainWindowObj = new MainWindow();
MainWindowObj.Show();
System.Windows.Threading.Dispatcher.Run();
}));
MainWindow_Show.SetApartmentState(ApartmentState.STA);
MainWindow_Show.IsBackground = true;
Thread StartupWindow_Show = new Thread(new ThreadStart(() =>
{
Startup StartupWindow = new Startup();
StartupWindow.Show();
MainWindow_Show.Start();
System.Windows.Threading.Dispatcher.Run();
}));
StartupWindow_Show.SetApartmentState(ApartmentState.STA);
StartupWindow_Show.IsBackground = true;
StartupWindow_Show.Start();
}