在我的项目中,我希望在用户在页面之间导航时保留滚动位置。目前我想改变GridView中元素的位置。我想出了这个测试代码:
void OnLoaded(object sender, RoutedEventArgs e)
{
ScrollViewer scrollViewer = VisualTreeExtensions.GetVisualChild<ScrollViewer>(gridView);
scrollViewer.ChangeView(100, null, null);
}
但是当ScrollViewer在GridView中时,此代码不起作用。
任何想法可能出错?
P.S。 我不想使用ScrollIntoView方法,因为我想要完全恢复Scroll位置。
答案 0 :(得分:1)
您是否尝试过使用NavigationCacheMode =“已启用”? 如果您无法使用导航缓存模式,请尝试将yourScrollViewer.ChangeView(100,null,null)移动到yourScrollViewer.OnLoaded。