Как программно выйти из приложения WPF? - PullRequest
432 голосов
/ 12 мая 2010

За те несколько лет, что я использовал C # (Windows Forms), я никогда не использовал WPF. Но теперь я люблю WPF, но не знаю, как мне выйти из приложения, когда пользователь нажимает на пункт «Выход» в меню «Файл».

Я пробовал:

this.Dispose();
this.Exit();
Application.ShutDown();
Application.Exit();
Application.Dispose();

Среди многих других. Ничего не работает.

Ответы [ 14 ]

6 голосов
/ 13 мая 2010

Насколько я понимаю, Application.Current.Shutdown() также имеет свой недостаток.

Если вы хотите показать окно подтверждения, чтобы позволить пользователям подтвердить выход при выходе или нет, Application.Current.Shutdown() необратим.

2 голосов
/ 04 августа 2015

Caliburn микро ароматизированный

public class CloseAppResult : CancelResult
{
    public override void Execute(CoroutineExecutionContext context)
    {
        Application.Current.Shutdown();
        base.Execute(context);
    }
}

public class CancelResult : Result
{
    public override void Execute(CoroutineExecutionContext context)
    {
        OnCompleted(this, new ResultCompletionEventArgs { WasCancelled = true });
    }
}
0 голосов
/ 30 октября 2018

Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;

0 голосов
/ 16 июня 2018

Из кода xaml вы можете вызвать предопределенную SystemCommand:

Command="SystemCommands.MinimizeWindowCommand"

Я думаю, что это должно быть предпочтительным способом ...

...