0

在我的项目中,我想在用户在页面之间导航时保​​留滚动位置。目前我想更改 GridView 中元素的位置。我想出了这个测试代码:

void OnLoaded(object sender, RoutedEventArgs e)
{
   ScrollViewer scrollViewer = VisualTreeExtensions.GetVisualChild<ScrollViewer>(gridView);
   scrollViewer.ChangeView(100, null, null);        
}

但是,当 ScrollViewer 位于 GridView 内时,此代码不起作用。

有什么想法可能是错的吗?

PS 我不想使用 ScrollIntoView 方法,因为我想完全恢复 Scroll 位置。

4

1 回答 1

1

您是否尝试过使用 NavigationCacheMode="Enabled"?如果您不能使用导航缓存模式,请尝试将 yourScrollViewer.ChangeView(100,null,null) 移动到 yourScrollViewer.OnLoaded。

于 2014-01-15T22:06:24.810 回答