有没有办法滚动,例如,从C#代码滚动到RichTextBox的开头? 我正在以编程方式填充其内容(包含图像和运行文本的段落),当填充完成时,滚动的位置位于RichTextBox的底部。我想将它设置为顶部,而不是底部。
我试图创建一个使用ScrollViewer包装RichTextbox的解决方法:但是当我在ScrollViewer上调用它的ScrollToVerticalOffset时没有任何反应,UI不会更新。
答案 0 :(得分:3)
试 rtb.Selection.Select(rtb.ContentStart,rtb.ContentStart); 滚动开始
和 rtb.Selection.Select(rtb.ContentEnd,rtb.ContentEnd); 滚动到结尾
答案 1 :(得分:1)
您需要访问RichTextBox控件以获取其内部ScrollViewer
,然后调用ScrollToVerticalOffset
。这是在VisualTreeHelper
的帮助下完成的,请参阅此blog了解一些有用的扩展方法的小源代码。使用VisualTreeEnumeration
类,您可以使用以下代码获取ScrollViewer
ScrollViewer sv = myRichTextBox.Descendents().OfType<ScrollViewer>().FirstOrDefault();