如何获取RichTextBox上的滚动坐标?

时间:2012-01-26 14:34:02

标签: c# .net wpf richtextbox

我正在编写一个非常简单的文本编辑器,其中包含一些关键字和特殊字符中的数字图谱。现在我正在实现行号,因为我正在使用ListView,它会更新到每个添加的新行。

问题是当我使用光标向下滚动时,行数没有更新,如果我跳到30行,listView仍然保持原样,在第10行,例如因为这个原因我正在寻找一种方法,通过listView的滚动来滚动RichTextBox的坐标到sincronize。

2 个答案:

答案 0 :(得分:0)

您可以尝试SharpDevelop的编辑器,而不是开发自己的文本编辑器。您不必完全安装它。只需下载其源代码并仅编译ICSharpCode.AvalonEdit

它有一个属性ShowLineNumbers:)

答案 1 :(得分:0)

TextPointer textPointer = MyRichTextBox.Document.ContentStart.GetPositionAtOffset(8);
if (textPointer != null)
{
    MyRichTextBox.CaretPosition = textPointer;

    MyRichTextBox.Focus();
    MyRichTextBox.Selection.Select(MyRichTextBox.CaretPosition, MyRichTextBox.CaretPosition);
}