【问题标题】:WPF AvalonEdit insert text in positionWPF AvalonEdit 在位置插入文本
【发布时间】:2018-01-08 22:50:25
【问题描述】:

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

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

【问题讨论】:

    标签: c# wpf document caret avalonedit


    【解决方案1】:

    可能是错的;全部未经测试。

    我相信您需要访问您的 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

    我会给出一个示例并对其进行测试,但我无法再访问该代码并离开工作。希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您需要使用编辑器实例的 Document 属性并使用其 Insert 方法。

       public void Insert(int startIdx, string text)
       {
           _avalonTextEditor.Document.Insert(startIdx, text);
       }
      

      【讨论】:

        猜你喜欢
        • 2011-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多