web-dev-qa-db-ja.com

プログラムでUWPアプリを終了または閉じる方法(ウィンドウズ10)

独自の終了ボタンに必要です。教えてください?私はこれを試してください:this.Close(); //または、dont dont work(

26
AlexeySRG

CoreApplicationクラスを使用できます。 静的終了メソッド を提供します。

public void CloseApp()
{
    CoreApplication.Exit();
}

ただし、ドキュメントには次のように記載されています。

この方法を使用して、テストまたはデバッグのシナリオ以外でアプリをシャットダウンしないでください。

悲しいことに、その背後にある理由は不明のままです。


さらに、昔ながらの Application.Exit メソッド(非静的):

public void CloseApp()
{
    Application.Current.Exit();
}

ここで、備考もご覧ください。

このメソッドを使用して、ユーザーがアプリを終了できるUIを提供します。ただし、通常、システムはアプリの有効期間を自動的に管理し、必要に応じて中断されたアプリを終了してリソースを解放するため、このUIを提供しないでください。

tl; dr:両方のExitメソッドは、アプリを一時停止するのではなく、終了します。これが本当にあなたがしたい行動であるかどうかを自問するべきです。

55
Herdo

これは、UWPアプリを終了するサポートされている方法です。

Application.Current.Exit();

ただし、使用することは比較的まれです。この方法を使用するシナリオに関連するUIエクスペリエンスを慎重に検討してください。たとえば、一部のアカウントの有効期限が切れたり、リモートで管理されているセキュリティ権限が取り消されたりした場合、プログラムを使用してアプリケーションを終了することを正当化できます。 Windowsのガイドラインに違反することなく、画面の中央に独自の「終了」ボタンが表示されることはほとんどありません。

14
Ladi