Back ボタンでアプリケーションを終了させる

#wp7dev_jp

Windows Phone のアプリケーションの終了は最初の画面で戻るボタンを押したときですが、やりようによっては強制終了も可能です。かなり強引ですが。

戻るボタンに紐づけてどの画面でもBackボタンで終了させることができます。

ただしこの方法は基本的には使わないでください。本来のWindows Phone の操作ポリシーに反します。この方法はユーザーを混乱させることになります。この方法を使うよりも、アプリケーションのナビゲーションの導線をきちんと設計し直して、いつでもちゃんとはじめの画面に戻って終了できるようななびげージョンにするべきです。

 

App.xaml.cs

// Code to execute on Unhandled Exceptions
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
    if (e.ExceptionObject is QuitException)
        return;

    if (System.Diagnostics.Debugger.IsAttached)
{
// An unhandled exception has occurred; break into the debugger
System.Diagnostics.Debugger.Break();
}
}

private class QuitException : Exception { }

public static void Quit()
{
    throw new QuitException();
}

MainPage.xaml

protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
{
    App.Quit();
}