Navigation Windows Phone 8.1 RT-当用户在页面之间导航时,保存和加载集线器、枢轴、列表视图位置

Navigation Windows Phone 8.1 RT-当用户在页面之间导航时,保存和加载集线器、枢轴、列表视图位置,navigation,windows-runtime,windows-phone-8.1,Navigation,Windows Runtime,Windows Phone 8.1,我正在寻找一种方法,在导航到另一个页面时保存中心、轴和列表视图的位置,并在返回时加载它。实现这一点的最简单方法似乎是将页面的NavigationCacheMode属性设置为required-> 如果要手动实现此目的,需要使用FindVisualChild方法查找控件的ScrollViewer,您可以在此处找到: 如果您有ScrollViewer,您可以在Overrided OnNavigatingFrom方法中保存scrollposition,并在Overrided OnNavigatedTo方

我正在寻找一种方法,在导航到另一个页面时保存中心、轴和列表视图的位置,并在返回时加载它。

实现这一点的最简单方法似乎是将页面的NavigationCacheMode属性设置为required->

如果要手动实现此目的,需要使用FindVisualChild方法查找控件的ScrollViewer,您可以在此处找到:


如果您有ScrollViewer,您可以在Overrided OnNavigatingFrom方法中保存scrollposition,并在Overrided OnNavigatedTo方法中还原它。

当我返回页面时,我想加载hub/pivot/listview的位置,但当我导航到此页面时,我希望hub/pivot/listview重置它们的位置。不幸的是,NavigationCacheMode以两种方式保存和加载位置。除非您知道如何处理它以使其按我所希望的方式工作。如果您使用数据绑定,则可以在OnNavigatedTo中检查NavigationMode。如果是向后的,您什么也不做;如果是向前的,您可以设置一个新的DataContext。当Hub/Pivot/ListView的绑定更改时,它通常会回滚到start;else-DataContext=数据;