c# - wpf DocumentViewer: obtenga ITextPointer por GlyphRun y viceversa
(1)
Yo recomendaría que abandones este enfoque. Hacer muchos reflejos privados como este no es algo sobre lo que se deba basar el código de producción, es muy frágil y francamente prohibido en algunos contextos. Francamente, es mejor que encuentres un control de terceros que se adapte a tus necesidades, como www.infragistics.com
O si esa no es una opción, probablemente puedas crear tu propio control en la cantidad de tiempo que tendrás que asimilar para que funcione.
Solo me pregunto si alguien ha intentado hackear WPF DocumentViewer
para hacerlo más útil. He pasado casi una semana intentando crear una API más poderosa para este control en función de los métodos que extraigo utilizando la reflexión.
Todo el mundo sabe cómo obtener el texto seleccionado del visor de documentos a través de la reflexión, pero mi tarea es más complicada. El texto seleccionado tiene propiedades End
y Start
que devuelven ITextPointers
. También tengo una colección de GlyphRuns extraídas usando este código . Y ahora, finalmente, quiero saber qué GlyphRun
contiene el inicio de la selección.
Así que quiero saber cómo convertir ITextPointers
en GlyphRuns
y viceversa. Entiendo que no tienen una relación 1: 1. Este control con API cerrada y la semana pasada en Reflector no me deja dormir bien. Espero que alguien haya intentado hacerlo antes o haya visto ejemplos de código y pueda guiarme a través de estas junglas.