Как получить доступ к окну из другого потока? - PullRequest
0 голосов
/ 30 августа 2018

В моем проекте 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...