【发布时间】:2015-10-13 00:45:50
【问题描述】:
我在创建解决方案时使用 VS 2013 添加的 Navigation Helper 类在页面之间导航,但大多数控件(如 Pivot、Hub)的滚动状态不像在 Windows Phone 8.x Silverlight 中那样保存。
我应该怎么做才能实现这种行为?我应该自己处理滚动状态并在我返回访问页面时恢复滚动吗?
谢谢。
更新1:
当我返回页面时,我需要保存选定的枢轴/枢纽项目等。
更新 2:
void navigationHelper_SaveState(obj sender,SaveStateEventArgs e)
{
e.PageState["SelectedSection"] = MainHub.SectionsInView;
}
void navigationHelper_LoadState(obj sender,LoadStateEventArgs e)
{
if (e.PageState != null)
{
var sections = e.PageState["SelectedSection"] as IList<HubSection>;
if (sections != null && sections.Any())
MainHub.ScrollToSection(sections[0]);
}
}
【问题讨论】:
-
滚动是什么意思?选定的枢轴或中心项目,或枢轴或中心内项目的滚动查看器位置?
-
选定的枢轴/枢纽项目。
-
如果您创建一个新的 Pivot 类型的 Windows Phone 8.1 项目并按原样运行它,您会看到当您从数据透视页面导航到项目页面时它保持选定的数据透视项目的状态并返回。
-
好的,我在妈妈页面中有集线器。我需要做这样的事情吗? (请参阅更新 2)
标签: scrollviewer windows-phone-8.1