문제

현재 쓰고 WPF 응용 프로그램은 명령줄 인수 처리합니다.App.xaml.cs(는 필요하기 때문에 시작 이벤트가 될 것으로 보인 권장하는 방법에 점점 그 인자).는 인수에 따라하고 싶어 프로그램을 종료 시점에서 이미 있는,내가 알기로는,수행해야에서 WPF 과 Application.Current.Shutdown() 나 이 경우에는(으로 나서 현재 응용 프로그램 개체)아마도 그냥 this.Shutdown().

문제는 이 작동하지 않는 것 맞다.난 밟을 통해 디버거를 그 코드 Shutdown() 라이 실행되도 오류가 나중에는 방법,이후 예상되는 응용 프로그램이 살지 않는다.또한 주요 창(에서 선언 StartupUri 특성에 XAML)아이 로드됩니다.

나는 확인 이 문서의하는 방법과 아무것도 발견에서 발언하는 저에게 말하는 내가 그것을 사용하지 말아야하는 중 Application.StartupApplication 다.

그래서 올바른 방법은 무엇입하는 프로그램을 종료 시점에서 나.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,무언가를 이 라인을 따라 당신에게 도움이 될 수 있습 콘솔 창에 문제가있을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top