2011-10-20 21 views
0

これは私の最初の質問です。私が検索した限り、私の問題の解決策は見つかりませんでした。私はWP7用の私の最初のrssreaderアプリケーションをコーディングしていると私はページの状態に問題が直面している。私は3ページあり、ナビゲーションはそのようになります メインページ>>> listitemspage >>>詳細ページ。 Mainpageはあらかじめ設定されたフィードカテゴリ項目(URLと名前)を持つデータバインドモデルで、listitempageはフィードアイテムを読むためのWebクライアントを実装したページで、detailsページはlistitempageから選択したフィードアイテムの詳細を渡す場所です。ページの状態は、このような状況での作業:detailspageでWP7の3ページのアプリケーションでページ状態を保存する

mainpage >>> start button >>> back button (OK)<br/> 
listitempage >>> start button >>> back button (Doesn't work)<br/> 
detailspage >>> start button >>> back button (OK)<br/> 

私はこれが動作するようですが、私は、ブラウザのタスクとボタンを作成した場合、ユーザがに移動することができOnNavigatedTo/ からとState.TryGetValueを使用して、ページの状態を保存しますブラウザーが開いてユーザーが戻るボタンを押すと詳細ページの状態が表示されます。ユーザーが2回目に戻るボタンを押すと、アプリケーションはlistitempageに戻るのではなく終了します。だから私はこの問題もあります:

detailspage >>> browserbuttontask >>> backbutton >>> restorepage >>> backbutton->exit<br/> 

アイデアはありますか?

答えて

0

(Windows Phoneユーザーグループの)Matt Laceyが作成したコードプレックスでTombstoneヘルパーを使用することをお勧めします。

http://tombstonehelper.codeplex.com/

それは(非常に簡単にすべてのあなたの問題を解決したり、非常に少なくとも、長期使用のための分離ストレージに離れてあなたのページの状態を作成する方法を紹介しますのいずれかの状態のキャッシュを覚えているデバイスがある間だけ生き残ります電源が入っていて、とても長い電話がそれをクリアする必要がないので、あなたがSterlingDBを試すIsolatedStorageいじりせずにページの状態を保存したい場合は、これは RGDS サイモン

+0

返信いただきありがとうございますDarkside。私はすでにこの結果を使用していません。トゥームストーンヘルパーの不幸なことに、詳細ページの状態が正しく保存されていないことさえあります。私は、詳細ページの現在のページ状態を保存するために使用する方法は完璧に(ブラウザタスクの問題を除いて)動作していますが、私もlistitemspageに似たものがほしいと思っています。私は隔離されたストレージで騒がずにページの状態でそれをやりたいと思っています。 – user1004994

0

を助けメモリ)

ホープです。これはIsolatedStorageを使用しますが、セットアップと使用は非常に簡単です。あなたはナゲット経由でスターリングを追加することができます。永続化したいデータをクラスに貼り付ける必要がありますが、保存と読み込みは簡単です。

これ以外にも、Caliburn Microを見てみるとよいでしょう。 OnInitialize、OnActivate、OnDeactivateなどのViewModelsにページライフサイクルを追加します。また、ViewModelのプロパティをIsolatedStorageまたは電話の状態に自動的に永続化するような、WP7のための素敵なものも追加しています。

http://www.sterlingdatabase.com/

+0

ご意見ありがとうございます。彼らは私がそれらを実装するにはあまりにも難しいと思っていますが(私はまだ初心者です)。 listitemspageからデータを復元する方法について、今注目しましょう。私はOnNavigatedTo/FromとStateを実装しようとしました。そのページでTryGetValueを試してみましたが、OnNavigateToが呼び出されたときに、WebClientイベントを実行して項目を取得するためにページが再ロードされることはありませんでした。そんなことをする方法はありますか? – user1004994

+0

ブラウザにヒットすると、アプリのバックスタックが消去されます。そしてあなたの詳細ページに戻ってくる理由は、それがブラウザのバックスタックにあるからです。その時点で、どこから来たのか、別の戻るボタンをどこに置くべきかを理解するためのロジックが必要になります。 OnBackKeyPressイベントの購読方法については、http://buildmobile.com/windows-phone-7-navigation/を参照してください。 –

0

アプリケーションを終了させる効果を持っているあなたのリストページに状態を復元するときにアプリケーションが例外を投げているように聞こえます。

デバッガを接続してこの作業をすべて試しましたか?どの例外がスローされ、どこに表示されるはずです。

+0

新しいmango SDKでコードを更新しました。状態処理が正常に機能しています。あなたの返信のおかげでみんな! – user1004994

関連する問題