【发布时间】:2016-12-03 17:21:31
【问题描述】:
我正在开发一个UWP 应用程序。在我的应用程序中,我使用了ListView。当我单击一个列表项时,它会将我导航到另一个页面。但是当我单击返回时,它会将我带回到列表视图的顶部。我希望它保持滚动位置,即。每当我点击后退按钮时,它应该带我到我点击的那个列表项,而不是在顶部。有什么办法可以解决这个问题吗?
【问题讨论】:
我正在开发一个UWP 应用程序。在我的应用程序中,我使用了ListView。当我单击一个列表项时,它会将我导航到另一个页面。但是当我单击返回时,它会将我带回到列表视图的顶部。我希望它保持滚动位置,即。每当我点击后退按钮时,它应该带我到我点击的那个列表项,而不是在顶部。有什么办法可以解决这个问题吗?
【问题讨论】:
简单的方法是在 XAML 中设置 NavigationCacheMode 属性或在 Enabled 或 Required 上设置代码隐藏:
<Page ...
NavigationCacheMode="Enabled">
或
this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled;
如果由于某种原因您无法启用缓存,您可以使用ListViewPersistenceHelper 来存储离开页面时的位置,并在返回时恢复它。 Shawn Kendrot 有一个很好的 sample 说明如何做到这一点。
【讨论】: