WPF AvalonEdit在位置

时间:2018-01-08 22:50:26

标签: c# wpf document caret avalonedit

我正在写我的工程工作。 我有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"
                            >

如何以其他方式将文本粘贴到光标位置? 非常感谢任何帮助或只是提示; - )

2 个答案:

答案 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);
 }