WPF: window.ShowDialog (), затем window.Show () - приложение остановлено

1

Я пытаюсь показать окно проверки подлинности, затем откройте главное окно, но когда вы закрываете окно авторизации, приложение останавливается

private void App_OnStartup(object sender, StartupEventArgs e)
{
  new LoginWindow().ShowDialog();
  new MainWindow().Show();
  // Then application stopped
}

НО!

Если проверка окна дисплея с помощью метода Show(), приложение закрывается после закрытия окна авторизации

private void App_OnStartup(object sender, StartupEventArgs e)
{
  new LoginWindow().Show();
  new MainWindow().Show();
  // Then application running
}

Почему такое поведение???

  • 0
    у вас есть StartupUri в вашем App.xaml?
  • 3
    Установите Application.ShutDownMode = ShutDownMode.OnMainWindowClose или явный.
Показать ещё 1 комментарий
Теги:
wpf

2 ответа

1
Лучший ответ

По умолчанию, когда основные окна приложения закрыты, приложение закрывается.

Согласно документации, "Application.MainWindow автоматически устанавливается со ссылкой на первый объект Window, который будет создан в AppDomain".

Чтобы обойти это, вы можете попытаться создать сначала объект MainWindow (без вызова Show()), затем создать и показать диалоговое окно входа в систему, а затем отобразить главное окно.

2

Благодаря Эрану Отзапу!

Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;

Работает!

  • 0
    это был не я, это был Шрирам
  • 0
    Тогда почему другой ответ принят?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню