我正在写我的工程工作。 我有Avalon Edit控件的问题。 我想在点击光标位置的按钮上添加一些文字。但我不能这样做,我已经尝试了我发现的一切。 我无法从avalonEdit获得CaretOffset。
<avalonEdit:TextEditor
Document="{Binding Dokument, UpdateSourceTrigger=PropertyChanged}"
IsModified="{Binding Path=Edited, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding ReadOnly}"
ShowLineNumbers="True"
SyntaxHighlighting="XML"
>
如何以其他方式将文本粘贴到光标位置? 非常感谢任何帮助或只是提示; - )
答案 0 :(得分:0)
可能是错的;所有未经测试的。
我相信您需要访问TextDocument
个实例。根据GitHub上的代码应该有一个Insert(int offset, string text)
方法:
https://github.com/icsharpcode/AvalonEdit/blob/master/ICSharpCode.AvalonEdit/Document/TextDocument.cs
为了获得偏移量,您需要访问TextEditor实例。在那里你会找到CaretOffset
属性。这应该告诉您插入符号的位置,并将其传递给Insert
方法。
https://github.com/icsharpcode/AvalonEdit/blob/master/ICSharpCode.AvalonEdit/TextEditor.cs
我会给出一个示例并对其进行测试,但我无法再访问该代码并离开工作。希望这会有所帮助。
答案 1 :(得分:0)
您需要使用编辑器实例的Document属性并使用其Insert方法。
public void Insert(int startIdx, string text)
{
_avalonTextEditor.Document.Insert(startIdx, text);
}