전통적인 C# 프로그램에서 프로그램을 종료시킬 때 사용하는 방법은
Application.Exit();
Environment.Exit(0);
System.Diagnostics.Process.GetCurrentProcess().Kill();
이렇게 많이 사용합니다.
(참고 : [.NET] 응용프로그램 종료 메서드 비교 )
가끔 창이 하나이거나 메인 폼이 중심이 되는 경우 아래와 같이 사용할 때도 있습니다.
this.Close();
그러다 문득
"WPF에서도 똑같은가?"
라는 의문이 들었습니다.
WinForm과 WPF와는 미묘한 차이가 있는데 이런 것들은 사실 직접 격기 전에는 알기가 힘듭니다.
그래서 한번 해보았습니다.
'Application.Exit();'를 빼고는 다 동작 하는 군요.
결론적으로 WPF에서 동작하는 종료문에 아래와 같습니다.
Environment.Exit(0);
System.Diagnostics.Process.GetCurrentProcess().Kill();
this.Close();
'Application.Exit();'와 비슷한 메서드는 'Application.Shutdown()' 입니다.
//System.Windows.Application.Current.Shutdown();
Application.Current.Shutdown();
MS Docs의 설명에는 'Application.Shutdown()'가 'Environment.Exit(0);'에 가까워 보이는데.....
검색을 해보면 'Application.Shutdown()'가 'Application.Exit();'에 더 가깝다고 하네요.
이것저것 테스트해봐야 알 듯하네요.