Я пытаюсь получить прямоугольник для всех символов, набранных внутри richtextbox. Начиная с текстового указателя MyRichTextBox.Document.ContentStart, я продвигаю каждый символ, используя следующий код
currentPointer = currentPointer.GetNextInsertionPosition(LogicalDirection.Forward)
И получить «символьный» прямоугольник, используя следующий код
currentPointer.GetCharacterRect(LogicalDirection.Forward)
Но похоже, что для любого текстового указателя, возвращенного из фрагмента кода выше, ширина прямоугольника всегда равна 0. Теперь я могу вычислить прямоугольник символа на основе области между прямоугольником предыдущего символа и текущим прямоугольником символа, но это вызывает проблему при переносе слов.
Есть ли способ получить ненулевую ширину из функции GetCharacterRect () расширенного текстового поля?
EDIT
Содержимое от Microsoft здесь показывает то же самое. Кто-нибудь знает альтернативу для измерения прямоугольника символа?