我使用AvalonEdit.TextDocument控件。现在,我想要从中获取当前的text-selection/textmark。但是这个类没有实现任何方便的属性或方法。如何从AvalonEdit.TextDocument获取当前的文本选择?
附言:在这里从我的应用程序中添加一些代码并没有多大意义
发布于 2016-09-28 23:19:56
我发现使用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
}
}在我的例子中,我需要在选择的每一行上标记一些东西,这就是为什么我把它分成几行的原因。
https://stackoverflow.com/questions/37906090
复制相似问题