繁体   English   中英

显示隐藏 WPF window

[英]Showing a hidden WPF window

在 WPF window 中,我想隐藏它,使用ShowDialog显示另一个 window,然后取消隐藏第一个 window。


当我这样做时:

this.Hide();
var window2 = new Window2();
window2.ShowDialog();
this.Show();

第一个 window 打开为空白和空 window。

这种技术有什么问题?


当我这样做时:

var window2 = new Window2();
Visibility = Visibility.Collapsed;
window2.ShowDialog();
Visibility = Visibility.Visible;

第一个 window 然后退出应用程序。

这种技术也有什么问题?

改为这样做:

this.Visibility = Visibility.Collapsed;    
...    
this.Visibility = Visibility.Visible;

另外,我在上面看到您的评论,这不起作用。 然而,我开始了一个新的 WPF 项目,做了这个,构建并运行了它。 有用。

请注意,没有错误。

在此处输入图片说明

 Window2 window2  = new Window2();
        this.Visibility = Visibility.Collapsed;
        window2.ShowDialog();
        this.Visibility = Visibility.Visible;
foreach (Window window in App.Current.Windows)

        {
            if (!window.IsActive)
            {
                window.Show();
            }
        }

对我来说很好用

在我的情况下,下一个代码解决了:

new HiddenWindow
    {
       WindowStyle = WindowStyle.None,
       AllowsTransparency = true,
       Opacity = 0.0
     }.Show();

检查您的Application.Current.ShutdownMode 如果Application.Current.ShutdownMode设置为OnMainWindowClose ,则关闭分配给Application.Current.MainWindow的窗口将导致应用程序关闭。 在您的情况下,我会将其设置为OnExplicitShutdown 您可以看到在 WPF 应用程序项目的app.xaml中设置的默认值。

这段代码解决了我的问题

var window = new Window()
{
    WindowStyle = WindowStyle.Hidden,
    Height = 0;
    Width = 0; 
};
window.Show();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM