我正在编写一个非常简单的文本编辑器,其中包含一些关键字和特殊字符的数字影响。现在我正在实现行号,因为我正在使用ListView
,它会更新到每个添加的新行。
问题是,当我使用光标向下滚动时,行数不会更新,然后如果我跳到30行,listView
保持原样,在第10行,例如因为这个原因我正在寻找一种方法使用listView的滚动滚动RichTextBox
的坐标到sincronize。
您可以尝试SharpDevelop的编辑器,而不是开发自己的文本编辑器。您不必完全安装它。只需下载其源代码并仅编译ICSharpCode.AvalonEdit
它有一个属性ShowLineNumbers
:)
TextPointer textPointer = MyRichTextBox.Document.ContentStart.GetPositionAtOffset(8);
if (textPointer != null)
{
MyRichTextBox.CaretPosition = textPointer;
MyRichTextBox.Focus();
MyRichTextBox.Selection.Select(MyRichTextBox.CaretPosition, MyRichTextBox.CaretPosition);
}