Как вы получаете выбранный текст WPF FlowDocument? - PullRequest
3 голосов
/ 08 января 2010

Я использую .NET 3.5

У меня есть FlowDocument внутри FlowDocumentScrollViewer. Я не использую RichTextBox. FlowDocument поставляется с рядом «бесплатных», включая выбор текста и контекстное меню для копирования / вставки.

Как узнать, какой текст в данный момент выбран в FlowDocument? Я полагаю, что я мог бы использовать ApplicationCommands.Copy, чтобы получить текст в буфер обмена, а затем прочитать его оттуда, но я не хочу менять содержимое буфера обмена, если мне не нужно.

Должно быть, я чего-то упускаю ...

1 Ответ

5 голосов
/ 08 января 2010

Какую версию .net framework вы используете? Начиная с версии 3.5, для элемента управления FlowDocumentScrollViewer введено свойство Selection. Вы можете использовать его для работы с выделенным текстом, например:

TextPointer potStart = flowDocumentScrollViewer.Selection.Start;
TextPointer potEnd = flowDocumentScrollViewer.Selection.End;
TextRange range = new TextRange(potStart,potEnd);
Console.WriteLine(range.Text);

надеюсь, это поможет, с уважением

...