Просто интересно, пытался ли кто-нибудь взломать WPF DocumentViewer
, чтобы сделать его более полезным.Я почти неделю уже пытался создать более мощный API для этого элемента управления на основе его методов, которые я извлекаю с помощью рефлексии.
Все знают, как получить выделенный текст из средства просмотра документов с помощью отражения, но моя задача сложнее. Выбранный текст имеет свойства End
и Start
, которые возвращают ITextPointers
.Также у меня есть коллекция GlyphRuns , извлеченная с использованием этого кода .И теперь, наконец, я хочу выяснить, какой GlyphRun
содержит начало выбора.
Итак, я хочу знать, как преобразовать ITextPointers
в GlyphRuns
и наоборот.Я понимаю, что они не имеют отношения 1: 1.Этот контроль с закрытым API и последняя неделя, проведенная в Reflector, не дают мне спать спокойно.Я надеюсь, что кто-то пытался сделать это раньше или видел примеры кода и сможет провести меня через эти джунгли.