在WPF窗口上设置Visibility =“Hidden”永远不会再显示窗口

时间:2012-01-08 20:23:03

标签: c# wpf vb.net xaml

我已将主窗口的Visibility属性设置为Hidden,并在Window_Loaded中添加了以下内容:

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

但它没有显示窗口。有什么具体原因吗?

2 个答案:

答案 0 :(得分:9)

在显示窗口之前,窗口未加载,根据您的代码,窗口在加载之前不会显示。很明显,这不能像那样工作,对吗?

答案 1 :(得分:1)

我也遇到了这个问题,似乎在主窗口上单独改变可见性并不像H.B.指出。对于我的情况,我想在窗口完全加载之前不显示窗口,并且能够通过使用我链接到此处的属性以及Window对象上的Show()和Hide()函数来实现。   System.Windows.Window.ShowActivated

  1. 初始化窗口对象时,不要将隐藏可见性设置为隐藏,而是按照后续步骤进行操作
  2. 将ShowActivated属性设置为false this.ShowActivated = false;
  3. 调用窗口对象this.Hide();
  4. 上的Hide()函数
  5. 在原始示例调用this.Show();
  6. 上的窗口加载函数中

    在某些WPF应用程序中,this引用也可能无法按预期工作,但是如果是这种情况,请转到XAML并找到窗口的name属性。您应该能够通过该名称从代码中引用窗口。防爆。

    <Window x:Name="MainWindow">
    //Code Behind Below
    MainWindow.ShowActivated = false;