Проверьте, открыто ли окно в WPF - PullRequest
0 голосов
/ 11 ноября 2018

В моей программе есть MainWindow и SecondWindow, которое вызывается первым следующим образом:

SecondWindow config = new SecondWindow();
config.Owner = this;
config.Show();

Эти строки содержатся в методе Button.Click. И я хочу проверить, открыт ли он, закрыть или не открывать. Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Попробуйте это:

if(Application.Current.Windows.OfType<SecondWindow>().FirstOrDefault() ==  null)
{
  //second window not exist
}
0 голосов
/ 11 ноября 2018

Не создавать новый экземпляр. Просто добавьте его в верх вашего класса MainWindow , и когда вы нажмете кнопку, используйте secondWindow.Hide();. Вы должны скрыть , потому что, если вы закроете его, , вы не сможете показать его снова . Если вы хотите , не открывайте его , , активируйте окно и перенесите его на верх рабочего стола с secondWindow.Activate();.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...