2016-03-18 8 views
2

Я пытаюсь закрыть свое главное окно из дочернего окна в моем приложении WPF. Проблема в том, что, как только я попытаюсь закрыть главное окно, мое приложение закрывается.Как остановить MainWindow от закрытия всего приложения

Вот мое кодирование от моего главного окна (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

Если вы используете форму MDI. Затем при закрытии вам нужно открыть формы – manraj

ответ

6

Перейти к приложениям App.xaml и изменить «ShutdownMode», например, «OnExplicitShutdown». По умолчанию ShutdownMode = «OnMainWindowClose», что приводит к описанному вами поведению.

+0

Спасибо, человек отлично работает. :) – CareTaker22