如何阻止MainWindow关闭整个应用程序

时间:2016-03-18 08:37:09

标签: c# wpf window

我正在尝试从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();
    }
}

有没有办法关闭主窗口而不隐藏它并仍然保持打开我的子窗口?

1 个答案:

答案 0 :(得分:7)

转到应用程序App.xaml并将“ShutdownMode”更改为“OnExplicitShutdown”。 默认值为ShutdownMode =“OnMainWindowClose”,这会导致您描述的行为。