0

問題が発生しました。プログレスバー付きの読み込みページがあります。非対話型で、データの読み込みの進行状況のみを表示します。データが読み込まれた後、MenuPage に移動します。

ユーザーが読み込みプロセス中にアプリを最小化すると、幻の破損したエントリが BackStack に追加されることがあります。

問題: この破損したエントリが backstack - NavigationService.RemoveBackEntry()throwsにある場合NullReferenceException

質問: 私の目標は、ユーザーが押したときに 2 ページ目からアプリを終了することです。バックスタックからアイテムを削除して例外をスローすることなく、どうにかしてそれを行うことはできますか?

ここに画像の説明を入力

4

1 に答える 1

-2

要するに、いいえ。アプリケーションを直接終了することはできません。ただし、適切に処理された例外を使用してそれを行うことができます。

private class QuitException : Exception { }

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

private void Application_UnhandledException(object sender, 
ApplicationUnhandledExceptionEventArgs e)
{
    if (e.ExceptionObject is QuitException)
        return;

    if (System.Diagnostics.Debugger.IsAttached)
    {
        System.Diagnostics.Debugger.Break();
    }
}

ソース:

http://www.imaginativeuniversal.com/blog/post/2010/08/22/How-to-Quit-a-WP7-Silverlight-Application.aspx

于 2012-08-01T15:32:57.310 に答える