如何获取 AvalonEdit 控件中文本变化的坐标?
How to get coordinates of text changing at AvalonEdit control?
如何知道AvalonEdit控件中文本变化的坐标?
需要补全代码,使用Roslyn
.
我有 AvalonEdit
控制和订阅 TextEntering:
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;
}
例如,我在控件中输入点;
所以,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.
的坐标呢?
我找到了 Caret
属性:
var caret = tbTextEditor.TextArea.Caret;
然后,我应该使用 Caret.Offset
并使 TextSpan
(Roslyn class) 完成代码:
TextSpan span = new TextSpan(caret.Offset, 1);
如何知道AvalonEdit控件中文本变化的坐标?
需要补全代码,使用Roslyn
.
我有 AvalonEdit
控制和订阅 TextEntering:
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;
}
例如,我在控件中输入点;
所以,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.
的坐标呢?
我找到了 Caret
属性:
var caret = tbTextEditor.TextArea.Caret;
然后,我应该使用 Caret.Offset
并使 TextSpan
(Roslyn class) 完成代码:
TextSpan span = new TextSpan(caret.Offset, 1);