我正在尝试从WPF应用程序中的子窗口关闭主窗口。问题是,一旦我试图“关闭”主窗口,我的整个应用程序就会关闭。
这是我的主窗口(pgLogin)的编码:
Window nextWindow = null;
nextWindow = new pgDashboard();
nextWindow.Owner = this;
this.Hide();
nextWindow.Show();
我的孩子窗口(pgDashboard):
public static T IsWindowOpen<T>(string name = null) where T : Window
{
var windows = Application.Current.Windows.OfType<T>();
return string.IsNullOrEmpty(name) ? windows.FirstOrDefault() : windows.FirstOrDefault(w => w.Name.Equals(name));
}
private void HAZEDashboard_Loaded(object sender, RoutedEventArgs e)
{
var credentials = this.Owner as pgLogin;
credentials.txtEmailAddress.Text.ToString();
var window = IsWindowOpen<pgLogin>();
if (window != null)
{
window.Close();
}
}
有没有办法关闭主窗口而不隐藏它并仍然保持打开我的子窗口?
答案 0 :(得分:7)
转到应用程序App.xaml并将“ShutdownMode”更改为“OnExplicitShutdown”。 默认值为ShutdownMode =“OnMainWindowClose”,这会导致您描述的行为。