これが重複していないことを願っていますが、実際の使用 方法に関するドキュメントや例が見つかりませんScrollToVerticalOffset()
。Windows Phone 8 アプリで使用していますが、WP7 と Silverlight にも適用できると思います (ただし、間違っている場合は自由に修正してください)。
だからここに私の基本的なセットアップがあります(メモリからの疑似コード):
<phone.PivotItem>
<ScrollViewer>
<Grid Height="1500">
<Grid.RowDefinitions>
<!-- about 20 rows, all auto-height -->
</Grid.RowDefinitions>
<Border Grid.Row="0">
<TextBox x:Name="txt1" />
</Border>
<Border Grid.Row="1">
<TextBox x:Name="txt2" />
</Border>
<!-- ...... -->
<Border Grid.Row="19">
<TextBox x:Name="txt20" />
</Border>
</Grid>
</ScrollViewer>
</phone.PivotItem>
ご覧のとおり、 の中に があり、 のScrollViewer
中PivotItem
に がありGrid
ます。にGrid
は約 20TextBox
の s があり、それぞれがBorder
. TextBox
このページの読み込み時にこれらのいずれかに動的にフォーカスを設定しているため、フォーカスをTextBox
#6-20 (おおよそ) に設定するたびに、手動で下にスクロールして表示する必要があります。自動スクロールして、フォーカスのある方がユーザーの中央に表示されるようにしますScrollViewer
。TextBox
のドキュメントにScrollToVerticalOffset()
は次のように書かれています:
ScrollViewer 内のコンテンツを、指定された垂直方向のオフセット位置までスクロールします。
そして、それは のタイプを受け入れますSystem.Double
。
私が理解していないのは、A) 渡すことになっている値と、B) どうすればその値を取得できるかということです。0 と私の身長Grid
(1500) の間の数値である必要がありますか? TextBox
もしそうなら、スクロールできるように特定の位置を特定するにはどうすればよいですか?
簡単な例があれば、自由にリンクしてください。このメソッドを呼び出すときに内容がScrollViewer
問題になるかどうかはわかりませんが、問題がある場合は、それをどのように使用しているかを正確に示したいと思いました。
よろしくお願いします!