WPF RichTextBox TextChangedEvent - Поиск начала ближайшего абзаца - PullRequest
0 голосов
/ 06 апреля 2011

Используя WPF в .Net 4, я создал небольшой WPF RichTextBox внутри окна.Я успешно смог перехватить событие TextChangedEvent для RichTextBox, и я могу пройти через массив изменений, предоставленный TextChangedEventArgs.

Я использую код, найденный здесь: Лучший способ реализоватьРазбор / редактируемый Richtextbox в WPF

Ну, скажем, я набираю букву 'a' в RichTextBox во время выполнения и имею точку останова во время TextChangedEvent для проверки содержимого RichTextBox с помощью отладчика,Затем я хочу выполнить следующее:

string sa =  range.Start.Paragraph.ContentStart.GetTextInRun(LogicalDirection.Forward);

Но проблема в том, что 'sa' - это всегда пустая строка, независимо от того, что я помещаю в RichTextBox во время выполнения.Разве 'sa' не должна быть строкой, начинающейся в начале абзаца относительно данного изменения?Или я должен использовать что-то еще, кроме range.Start.Paragraph.ContentStart?

1 Ответ

0 голосов
/ 06 апреля 2011

Просто разобрался ... Мне пришлось создать новый TextRange, используя ContentStart и ContentEnd of the Paragraph, например:

var range2 = new TextRange(range.Start.Paragraph.ContentStart, range.Start.Paragraph.ContentEnd);
...