Прокрутка Silverlight в RichTextBox - PullRequest
       20

Прокрутка Silverlight в RichTextBox

3 голосов
/ 06 октября 2011

Есть ли способ прокрутки, например, до начала RichTextBox из кода C #?Я заполняю его содержимое программно (параграфами, содержащими изображения и тексты), и когда заполнение завершается, местоположение прокрутки находится внизу RichTextBox.Я хотел бы установить его сверху, а не снизу.

Я пытался создать обходной путь с обертыванием моего RichTextbox с помощью ScrollViewer: однако, когда я вызываю его ScrollToVerticalOffset на ScrollViewer, ничего не происходит, пользовательский интерфейс не 'обновляется.

Ответы [ 2 ]

3 голосов
/ 19 апреля 2013

попробовать rtb.Selection.Select (rtb.ContentStart, rtb.ContentStart); для прокрутки, чтобы начать

и rtb.Selection.Select (rtb.ContentEnd, rtb.ContentEnd); для прокрутки до конца

1 голос
/ 06 октября 2011

Вам нужно войти внутрь элемента управления RichTextBox, чтобы получить его внутренний ScrollViewer, затем вызвать ScrollToVerticalOffset. Это делается с помощью VisualTreeHelper, в этом блоге приведен небольшой исходный код пары полезных методов расширения. С доступным классом VisualTreeEnumeration вы можете использовать следующий код для получения ScrollViewer

 ScrollViewer sv = myRichTextBox.Descendents().OfType<ScrollViewer>().FirstOrDefault();
...