Вместо использования традиционного заставки я хочу отобразить окно входа в систему, чтобы пользователь мог ввести свои учетные данные. Между тем, в фоновом режиме, я хочу инициализировать приложение, а затем загрузить основное окно. Проблема заключается в том, что окно входа в систему закрывается основным показанным окном.Как я могу получить окно WPF, чтобы оставаться поверх другого?
private void App_OnStartup(object sender, StartupEventArgs e)
{
Current.MainWindow = new LoginWindow();
Current.MainWindow.Show();
Task.Run(() => { /*do app startup background stuff*/ }).ContinueWith(t =>
{
var appWindow = new ApplicationWindow();
appWindow.Show();
Current.MainWindow.Owner = appWindow;
}, TaskScheduler.FromCurrentSynchronizationContext());
Окно входа в систему открывается с главного окна. Мое предположение заключалось в том, что, установив владельца ApplicationWindow в окно входа в систему, окно входа в систему останется наверху. Если я делаю это неправильно, есть ли способ достичь того, чего я хочу? Самый верхний флаг работает, но тогда окно, ну, самое верхнее, что нежелательно.
Спасибо за вашу помощь. Моя проблема заключалась в том, что я надеялся построить MainWindow с необходимыми параметрами. Кроме того, я надеялся понять все «Владелец» еще немного. В конечном итоге ваше решение может быть лучшим. – Dan
Спасибо, что вернул меня на землю. То, что я пытался создать, было слишком сложным. – Dan