0

私のプロジェクトでは、ユーザーがページ間を移動するときにスクロール位置を保持したいと考えています。現在、GridView 内の要素の位置を変更したいと考えています。私はこのテストコードを思いつきました:

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

ただし、ScrollViewer が GridView 内にある場合、このコードは機能しません。

何が間違っている可能性がありますか?

PS ScrollIntoView メソッドを使用したくありません。スクロール位置を元どおりに戻したいからです。

4

1 に答える 1

1

NavigationCacheMode="Enabled" を使用してみましたか? ナビゲーション キャッシュ モードを使用できない場合は、yourScrollViewer.ChangeView(100,null,null) を yourScrollViewer.OnLoaded に移動してみてください。

于 2014-01-15T22:06:24.810 に答える