2010-11-24 27 views
0

私はあなたのアプリケーションの状態を保存する方法をtombstoningについて知っていますが、私の質問はこれに関する状態です。Windows Phone 7 States

5つのボタンがあるページがあるとします。ボタンをクリックするたびに、ボタンが表示または非表示になります。ページの現在の状態または保存された状態を保存するにはどうすればよいですか?アプリケーションを終了して5つのボタンをもう一度読み込むと、1つのボタンを非表示にするとします。

可変状態値をIsolatedStorageFileに保存して、ロードされたイベントでページが読み込まれたときに取得しようとしましたが、状態を保存するだけで多くの処理を行うのは面倒です。

私が考えた別の解決策は、Loadedイベントが発生したときに、静的にif elseステートメントを宣言し、ボタンの表示を手動で宣言することです。

他の方法はありますか?

答えて

0

ページ/アプリが正常に終了したときに、それが廃棄だとき、あなたは同じことをやろうとしていますか?デフォルトの予想される動作は、(バックボタンを介して)終了後にアプリを起動すると、アプリがデフォルト状態になるということです。墓石状態から戻ってきたときは、ページ/アプリを廃棄したときとまったく同じ方法で(適切な限り)アプリケーションを表示する必要があります。
もちろん、さまざまなニーズがあるかもしれませんが、私は標準的な動作を強調したかったのです。

トーンストーンで状態を保存する場合は、OnNavigatedFromイベントとOnNavigatedToイベントを使用して、Stateオブジェクトに詳細を格納します。

MSDNでこれを行う方法の良い例があります:How to: Preserve and Restore Page State for Windows Phone

アプリのすべての実行間で状態を保持したい場合は、あなたが永続的な場所に詳細情報を格納するためにIsolatedStorageを使用する必要があります。データを読み書きする場所と時間は、永続化が必要なデータの場所によって異なります。
アプリケーションレベルの場合は、アプリケーションレベルイベント(起動中、有効化、終了&無効)を使用することができます。ページ・レベルに状態データがある場合は、ページ・レベル(ロード/アンロードまたはナビゲートされたフロー/ To)を適切に行う方がよいでしょう。

アプリケーションのすべての実行で状態を保存する場合は、おそらく上記の両方のオプションを調べる必要があります。

+0

実際には終了しませんが、ユーザーがそのページから戻って戻るとき。もちろん、そのページの初期値がロードされます。 MSDNのドキュメントを使用すると、アプリケーションの実行中にページの状態しか保存されないと思われますが、終了した場合は初期値に戻ります。 –

0

here 名前空間はこの種の動作には問題ありません。お探しの方法についてはこちらの記事もチェックしてください。

Saving Applications States

+0

ご返信ありがとうございます。 IsolatedStorage.ApplicationSettingを使用した場合、コントロールの現在の値も保存されますか?可視性のように –

関連する問題