4

次のナビゲーション パターンを実行します。

  1. アプリに移動します (メイン ビューです)。
  2. REST サーバーから何かを取得する詳細ビューに移動します (つまり、進行状況インジケーターが数秒間表示されます)。
  3. プログレス インジケータがまだ表示されている間に、[戻る] ボタンを 2 回続けてクリックします (間違えやすい)。
  4. アプリはメイン ビューに戻りますが、詳細ビューのコンテンツが重ねて表示されます。

結果の混乱のスクリーンショットを以下に示します。

これは、Nokia Lumia 800 と HTC Titan の両方で再現されました。

まず第一に - 何時間..? そして、これを実現するために私にできることはありますか?

出力に例外 (またはその他) は表示されません。OnNavigatedFrom()詳細ビューのメソッドで発生する唯一のことは、 (メモリ上の理由で) 背景画像を無効にすることです。他のビューでも発生します。

私の考えは、両方のビューの draw メソッドが異なるスレッドで呼び出され、メイン ビューだけが応答するようにするというものです。

ここで何が起こったのか、このバグを修正するにはどうすればよいですか?

何が起こったかのスクリーンショット

4

1 に答える 1

1

この種の問題は、Silverlight for Windows Phone ツールキットの TransitionFrame を使用しているときに発生しました。ページ間を移動するときにトランジションを使用すると、トランジション/ナビゲーションの進行中にユーザーが [戻る] ボタンを 1 回または 2 回タップすると、この問題が発生する可能性があります。

これはバグだと思いますが、ツールキットの公式CodePlex サイトで報告されたものを見つけることができませんでした。そのため、問題を引き起こしているページで [戻る] ボタンを押して処理する以外に、信頼できる解決策や回避策についてはわかりません。言い換えれば、戻るボタン/キーの押下をキャッチして無効にするか (これが認証に合格するかどうかはわかりません!)、または単にページがまだ読み込まれていることを MessageBox でユーザーに促し、ユーザーが本当に必要かどうかを確認します。戻るには、うまくいくかもしれません。私が考えることができる他の解決策は、TransitionFrame の使用を避けることですが、それは実際の解決策ではありませんよね? :)

于 2012-08-13T10:32:10.453 に答える