私はWindowsPhoneアプリケーションに取り組んでいますが、問題があるシナリオは次のとおりです。
だから私は3つのページを持っています、それをページ1、2、3と呼びましょう。
1ページ目に、というボタンがありますstart downloading
。ボタンをクリックして使用NavigateService.Navigate(page2Uri)
し、page2に移動します。
ページ2はクエリを実行し、インターネットから画像をダウンロードするため、OnNavigateTo
ハンドラーでページバックスタックを確認し、ページ1から移動した場合は、ダウンロードを実行します。このページのアプリバーには、page3に移動できるボタンがあります。
ページ3は、ページ2でダウンロードされた画像に対していくつかの動作を実行するオプションのリストです。オプションを選択したら、2ページに戻って、ロードされた画像に対していくつかの動作を実行したいと思います。
ここで問題が発生します。page3からpage2に移動するため
に使用すると、Page2コンストラクターとハンドラーが再度呼び出され、既に取得したすべてのインスタンス変数が失われます。
しかし、使用するとpage2に戻り、バックスタックのトップエントリがpage1であることがわかります(page1-> page2-> page3以降)。したがって、すべてが再度ダウンロードされます。NavigateService.Navigate(page2Uri)
OnNavigateTo
NavigatService.GoBack
ページ3からページ2に戻るときに、何もダウンロードされないようにします。だから誰かがこれについて良い考えを持っているかどうか疑問に思います。
ありがとうございました。