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