私は Windows Phone 7.5 Unleashed を読んでいますが、次のようなコードがたくさんあります (ページのコード ビハインド)。
bool loaded;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (!loaded)
{
DataContext = new SomePageViewModel(State);
loaded = true;
}
((SomePageViewModel)DataContext).LoadTransientState();
...
}
...
廃棄された状態から再開すると false になるという考え方なloaded
ので、ビュー モデルを再構築する必要があることがわかります。
私の質問は:if
ブロックの外側に一時的な状態をロードするのはなぜですか? メモリが破棄されていない場合 (つまり、アプリケーションが廃棄されていない場合)、状態をリロードせずに古いビュー モデルを使い続けることはできないのでしょうか?
ページがナビゲートされるとき、または廃棄状態から再開するときだけ、一時的な状態を常にロードする必要がありますか?