さて、それで、誰もがScrollViewerのスクロール位置を設定する方法を知っています。エッセイとブログエントリ全体が書かれていますScrollViewer.ScrollToVerticalOffset()
、そしてそれについての答えを持った良い数百の質問がここにあります。
だから、私は入力します:
myScrollViewer.ScrollToVerticalOffset(280);
...そしてそれはとても親切にその場所にスクロールします。
問題は、現在どのプロパティに280が含まれているので、後で取得できるかということです。
(ヒント:myScrollViewer.VerticalOffset
とContentVerticalOffset
は両方とも0です。myScrollViewer.ScrollInfo
単純なものは存在しません。)
編集:どうやら私はより詳細なデモンストレーションが必要です。
private void btnTest_Click(object sender, RoutedEventArgs e) {
double scrollTarget = 280;
MessageBox.Show("Target: " + scrollTarget.ToString());
myScrollViewer.ScrollToVerticalOffset(scrollTarget);
MessageBox.Show("Now: " + myScrollViewer.VerticalOffset);
}
これは意図したとおりにスクロールすることを繰り返し述べなければなりません。私が望むところに正確に行きます。ただし、myScrollViewer.VerticalOffset
は0に設定されています。