如何在AvalonEdit控件中获得文本更改的坐标

本文关键字:文本 坐标 AvalonEdit 控件 | 更新日期: 2023-09-27 18:03:32

如何知道在AvalonEdit控件文本变化的坐标?它需要使代码完成,使用Roslyn .

我有AvalonEdit控制和订阅texttentering:

tbTextEditor.TextArea.TextEntering += TextEditor_exTtArea_TextEntering;
tbTextEditor.TextArea.TextEntered += TextEditor_TextArea_TextEntered;
 private void TextEditor_TextArea_TextEntered(object sender, TextCompositionEventArgs e)
  {
  var textChanging=e.Text;
  }

例如,在control中输入dot;因此,Text的值为'.';

但是我必须知道它位于世界的哪个部分?

例如,我有这样的代码:
using System;
class Test
{
 public int I=0;
 public void Completion()
 {
 var test=new Test();
 test. // here is my dot.
 test.I=10; // here is dot too.
 }
}

那么,如何得到test.的坐标呢?

如何在AvalonEdit控件中获得文本更改的坐标

我发现Caret属性:

 var caret = tbTextEditor.TextArea.Caret;

然后,我应该使用Caret.Offset并使TextSpan (Roslyn类)使代码完成:

  TextSpan span = new TextSpan(caret.Offset, 1);