簡體   English   中英

WPF AvalonEdit 在 position 中插入文本

[英]WPF AvalonEdit insert text in position

我正在寫我的工程作品。 我對 Avalon Edit 控件有疑問。 我想在 cursor position 單擊的按鈕上添加一些文本。但我做不到,我已經嘗試了我找到的所有內容。 我什至無法從 avalonEdit 獲得 CaretOffset。

 <avalonEdit:TextEditor
                            Document="{Binding Dokument, UpdateSourceTrigger=PropertyChanged}" 
                            IsModified="{Binding Path=Edited, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                            IsReadOnly="{Binding ReadOnly}"
                            ShowLineNumbers="True" 
                            SyntaxHighlighting="XML"
                            >

如何以其他方式將我的文本粘貼到 cursor position? 非常感謝您的幫助或提示;-)

可能是錯誤的; 全部未經測試。

我相信您需要獲得對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

我將給出一個示例並對其進行測試,但是我將無法再訪問該代碼並離開工作。 希望這可以幫助。

您需要使用編輯器實例的Document屬性,並使用其Insert方法。

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

你可以這樣做:

public void InsertTextCurrentPosition(string text)
{
    int caretOffset = _avalonTextEditor.CaretOffset;
    _avalonTextEditor.Document.Insert(caretOffset, text);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM