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