Установка Visibility = "Hidden" в окне WPF никогда не отображает окно снова - PullRequest
5 голосов
/ 09 января 2012

Я установил для свойства Visibility главного окна значение Hidden и добавил следующее в Window_Loaded:

private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        this.Visibility = System.Windows.Visibility.Visible;
    }

Но окно не отображается.Есть какая-то конкретная причина для этого?

Ответы [ 2 ]

9 голосов
/ 09 января 2012

Окно не загружается до тех пор, пока оно не отобразится, согласно вашему коду оно не будет отображаться до тех пор, пока оно не будет загружено.Очевидно, что это не может так работать, верно?

1 голос
/ 10 января 2018

У меня тоже была проблема с этим, и кажется, что изменение видимости только в главном окне не работает как H.B. указал. В моем случае я хотел не показывать окно до тех пор, пока оно не будет полностью загружено, и смогло достичь этого, используя свойство, с которым я здесь связан, наряду с функциями Show () и Hide () объекта Window. System.Windows.Window.ShowActivation

  1. При инициализации объекта окна не устанавливайте видимость скрытым, вместо этого следуйте следующим шагам
  2. Установите для свойства ShowActivation значение false this.ShowActivated = false;
  3. Вызов функции Hide () для оконного объекта this.Hide();
  4. В вашем окне загружена функция из вашего исходного примера вызова this.Show();

В некоторых приложениях WPF также возможно, что ссылка this не будет работать должным образом, однако в этом случае перейдите к XAML и найдите свойство name окна. Вы должны быть в состоянии отослать окно из кода через это имя. Ex.

<Window x:Name="MainWindow">
//Code Behind Below
MainWindow.ShowActivated = false;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...