2012-06-13 3 views
0

시작 중 일부로 사용자로부터 정보를 얻을 수있는 모달 창을 표시해야하는 WPF 응용 프로그램이 있습니다. App.xaml.cs_ApplicationStartup 내부에서 창을 만들고 표시합니다. 윈도우의 ok 버튼에서 Close() 메소드를 호출합니다. 정보가 검색되면 주 응용 프로그램 창을 표시하려고합니다. 그러나 주 응용 프로그램 창은 즉시 WindowClosing 이벤트를 수신하고 종료됩니다. App.xaml 코드 :App.xaml에서 시작한 모달 창 닫기 WindowClosing 이벤트

private void ApplicationStartup(object sender, StartupEventArgs e) 
{ 
    if (Settings.Default.AskForLoginCredentials) 
    { 
     var loginWindow = new LoginCredentialsWindow(); 
     bool? retVal = loginWindow.ShowDialog(); 
     if (retVal.HasValue && retVal.Value) 
     { 
      string un = loginWindow.UserName; 
      string pw = loginWindow.Password; 
     } 
     else 
     { 
      _logger.Info("Credential request prompt was refused. Exiting Application."); 
      return; 
     } 
    } 

    MainAppWindow window = new MainAppWindow(); 
    window.Show(); 
} 

무슨 일입니까?

답변

2
마지막 창을 닫을 때 종료됩니다 응용 프로그램을 의미 Application.ShutdownMode 재산

기본값은 OnLastWindowClose입니다, 변경

. 다른 두 옵션은 OnMainWindowCloseOnExplicitShutdown 있습니다

나는 일반적으로

를 종료하려면 응용 프로그램에 대해 호출 할 Shutdown() 요구를 의미 OnExplicitShutdown를 사용