Windows Phone 7:恢复到选定的透视项目

时间:2011-01-24 08:35:49

标签: windows-phone-7 pivot tombstoning

当我在我的应用程序中使用Pivot控件时,我想知道如何在用户逻辑删除应用程序之后恢复到最后选择的枢轴项目(启动应用程序,按下Windows按钮并按下后退按钮以恢复)?

(我尝试在Application_DeactivatedApplication_Deactivated中添加一些代码,但没有效果)

3 个答案:

答案 0 :(得分:6)

要保存数据透视表的状态,您应该使用StateOnNavigatedTo方法中页面的OnNavigatedFrom属性。

这是一个基本的例子: -

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        if (State.ContainsKey("pivotIndex"))
            myPivot.SelectedIndex = (int)State["pivotIndex"];
    }

    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
    {
        State["pivotIndex"] = myPivot.SelectedIndex;
    }

请注意,在应用程序被逻辑删除的情况下,Windows Phone将处理此状态的持久性。此方法还可以使您的页面导航到应用程序中的其他位置,并在导航回来时恢复透视状态。

答案 1 :(得分:2)

如果您跟踪枢轴的SelectedIndex,则可以在从墓碑返回时恢复此值。

这是关于在逻辑删除时保存数据的直接演练。

Tombstoning on the Win7 Mobile Platform

答案 2 :(得分:1)

要实现逻辑删除,您确实需要为所有代码添加代码:

  • 保存:

    • Application_Deactivated
    • Application_Closing
  • 负载:

    • Application_Launching
    • Application_Activated

然后你还需要在数据透视页面中覆盖“OnNavigatedTo” - 这是为你的数据透视设置SelectedIndex的理想时间。