В моем проекте 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();
}