Я читаю Windows Phone 7.5 Unleashed, и есть много кода, который выглядит так (в коде для страницы):
bool loaded;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (!loaded)
{
DataContext = new SomePageViewModel(State);
loaded = true;
}
((SomePageViewModel)DataContext).LoadTransientState();
...
}
...
Идея состоит в том, что loaded
будет ложным при выходе из состояния захоронения, поэтому мы знаем, что хотим перестроить модель представления.
Мой вопрос: зачем загружать переходное состояние за пределы блока if
? Если наша память не была выброшена (т. е. приложение не было захоронено), не можем ли мы просто продолжать использовать старую модель представления, не перезагружая ее состояние?
Должно ли переходное состояние всегда загружаться при переходе на страницу или только при выходе из состояния захоронения?