종료 응용 프로그램 WPF 응용 프로그램에서.xaml.cs
-
03-07-2019 - |
문제
현재 쓰고 WPF 응용 프로그램은 명령줄 인수 처리합니다.App.xaml.cs(는 필요하기 때문에 시작 이벤트가 될 것으로 보인 권장하는 방법에 점점 그 인자).는 인수에 따라하고 싶어 프로그램을 종료 시점에서 이미 있는,내가 알기로는,수행해야에서 WPF 과 Application.Current.Shutdown()
나 이 경우에는(으로 나서 현재 응용 프로그램 개체)아마도 그냥 this.Shutdown()
.
문제는 이 작동하지 않는 것 맞다.난 밟을 통해 디버거를 그 코드 Shutdown()
라이 실행되도 오류가 나중에는 방법,이후 예상되는 응용 프로그램이 살지 않는다.또한 주요 창(에서 선언 StartupUri 특성에 XAML)아이 로드됩니다.
나는 확인 이 문서의하는 방법과 아무것도 발견에서 발언하는 저에게 말하는 내가 그것을 사용하지 말아야하는 중 Application.Startup
나 Application
다.
그래서 올바른 방법은 무엇입하는 프로그램을 종료 시점에서 나.e.이 Startup
이벤트 처리기에 Application
object?
해결책
먼저 제거 StartupUri 속성에서는 앱입니다.xaml 다음 사용하려면 다음을 사용합니다.
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
bool doShutDown = ...;
if (doShutDown)
{
Shutdown(1);
return;
}
else
{
this.StartupUri = new Uri("Window1.xaml", UriKind.Relative);
}
}
다른 팁
을 제거하는 경우 StartupUri 응용 프로그램에서.xaml 응용 프로그램으로 MainWindow 지 확인해야 합 당신은 다음과 같이 호출에 OnStartup 방법 그렇지 않으면 응용 프로그램이 종료될 때 MainWindow 닫습니다.
this.ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose;
@프랭크 Schwieterman,무언가를 이 라인을 따라 당신에게 도움이 될 수 있습 콘솔 창에 문제가있을 수 있습니다.