我有3页:第一页 - MainPage,第二页 - PivotPage,第三页 - SimplePage。我想在导航到SimplePage时保存PivotPage状态并在返回时加载它。我尝试使用NavigationHelper类,但是当我从PivotPage返回到MainPage然后再次导航到PivotPage时,它也保存并加载PivotPage状态,这是不可取的。有没有人可以帮我处理这件事?
修改
我有4个案例:
如何在那里保存和加载所选项目的位置?
答案 0 :(得分:4)
也许这就是你需要的
将其添加到构造函数
this.NavigationCacheMode = NavigationCacheMode.Required;
答案 1 :(得分:1)
可能有很多方法可以做你想要的,但也许简单的标志就足够了(因此加载状态在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