1. ホーム
  2. c#

[解決済み] WPFアプリケーションをプログラムで終了させるには?

2022-03-18 14:29:55

質問

FileメニューからExitメニューをクリックしたときなど、アプリケーションを終了するときはどのようにすればよいのでしょうか?

試してみました。

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

その他多数。何もかもがうまくいかない。

解決方法は?

アプリケーションを終了するには、次のように呼び出します。

System.Windows.Application.Current.Shutdown();

のドキュメントで説明されているように Application.Shutdown メソッドを使用すると、アプリケーションのシャットダウン動作を変更することもできます。 シャットダウンモード :

Windows Presentation Foundation(WPF)では、次のような場合に暗黙のうちにシャットダウンが呼び出されます。

  • ShutdownModeがOnLastWindowCloseに設定されている場合。
  • ShutdownModeがOnMainWindowCloseに設定されている場合。
  • ユーザーがセッションを終了し、SessionEndingイベントが処理されないか、キャンセルされずに処理されたとき。

また、以下の点にもご注意ください。 Application.Current.Shutdown(); を作成したスレッドからしか呼び出すことができません。 Application オブジェクト、つまり通常はメインスレッドです。