[英]Showing a hidden 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.