首页 文章

Silverlight在RichTextBox中滚动

提问于
浏览
3

有没有办法滚动,例如,从C#代码滚动到RichTextBox的开头?我正在以编程方式填充其内容(包含图像和运行文本的段落),当填充完成时,滚动的位置位于RichTextBox的底部 . 我想将它设置为顶部,而不是底部 .

我试图创建一个使用ScrollViewer包装我的RichTextbox的解决方法:但是当我在ScrollViewer上调用它的ScrollToVerticalOffset没有任何反应时,UI不会更新 .

2 回答

  • 1

    您需要到达RichTextBox控件内部以获取其内部 ScrollViewer 然后调用 ScrollToVerticalOffset . 这是在 VisualTreeHelper 的帮助下完成的,请参阅此blog以获取一些有用的扩展方法的小源代码 . 使用 VisualTreeEnumeration 类,您可以使用以下代码获取 ScrollViewer

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

    尝试rtb.Selection.Select(rtb.ContentStart,rtb.ContentStart);滚动开始

    和rtb.Selection.Select(rtb.ContentEnd,rtb.ContentEnd);滚动到结束

相关问题