0
我使用AvalonEdit.TextDocument控件。現在我想從中獲取當前的文本選擇/文本標記。但是這個階級沒有任何方便的財產或方法。 如何從AvalonEdit.TextDocument獲取當前的文本選擇?c#在AvalonEdit.TextDocument上獲取TextSelection
PS:它並不真正使這裏太大的意義,從我的應用程序中添加一些代碼
我使用AvalonEdit.TextDocument控件。現在我想從中獲取當前的文本選擇/文本標記。但是這個階級沒有任何方便的財產或方法。 如何從AvalonEdit.TextDocument獲取當前的文本選擇?c#在AvalonEdit.TextDocument上獲取TextSelection
PS:它並不真正使這裏太大的意義,從我的應用程序中添加一些代碼
我找到對付的選擇與AvalonEdit編輯的最簡單方法如下:
IEnumerable<SelectionSegment> selectionSegments = Editor.TextArea.Selection.Segments;
TextDocument document = Editor.TextArea.Document;
foreach (SelectionSegment segment in selectionSegments)
{
//DO WHAT YOU WANT WITH THE SELECTIONS
int lineStart = document.GetLineByOffset(segment.StartOffset).LineNumber;
int lineEnd = document.GetLineByOffset(segment.EndOffset).LineNumber;
for (int i = lineStart; i <= lineEnd; i++)
{
//Do something with each line in the selection segment
}
}
在我的情況下,我需要在每一行選擇標記的東西,所以這就是爲什麼我分成幾行。
'TextDocument'沒有選擇的概念,它只是文檔數據。你可以從'TextEditor'(簡單的選擇)或者'TextArea'(如果你需要完全控制它,例如多選區段等等)輕鬆地獲得選擇。 –
好的,非常感謝!我以前不知道AvalonEdit。 – peter70
嗯,我想你應該[閱讀文檔](http://avalonedit.net/documentation/)然後:) –