У меня 3 страницы: первая - MainPage, вторая - PivotPage, а третья - SimplePage. Я хочу сохранить состояние PivotPage, когда я перехожу к SimplePage и загружаю его, когда вернусь. Я попытался использовать класс NavigationHelper, но он также сохраняет и загружает состояние PivotPage, когда я возвращаюсь из PivotPage в MainPage, а затем снова переключаюсь на PivotPage, что нежелательно. Кто-нибудь может помочь мне справиться с этим?
РЕДАКТИРОВАТЬ:
У меня 4 случая:
Как сохранить и загрузить позицию выбранного элемента?
Вероятно, есть много способов сделать то, что вы хотите, но, возможно, простого флага было бы достаточно (следовательно, загрузка состояния запускается в OnNavigatedTo
):
// provide a flag
private bool ifLoadData = false;
// set the flag before state is loaded
protected override void OnNavigatedTo(NavigationEventArgs e)
{
ifLoadData = e.NavigationMode == NavigationMode.Back;
// rest of the code
// then in LoadState just check if you want your data to be loaded
private void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
if (ifLoadData)
{
// load data
Возможно, это то, что вам нужно
добавьте это в свой конструктор
this.NavigationCacheMode = NavigationCacheMode.Required;