[英]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.