35 votes

wpf DocumentViewer - obtenir ITextPointer par GlyphRun et vice versa

Je me demandais juste si quelqu'un avait essayé de pirater WPF DocumentViewer afin de le rendre plus utile. J'ai déjà passé près d'une semaine à essayer de créer une API plus puissante pour ce contrôle, basée sur ses méthodes que j'extrais en utilisant la réflexion.

Tout le monde sait comment récupérer le texte sélectionné dans le visualisateur de documents par réflexion, mais ma tâche est plus compliquée. Texte sélectionné a End y Start qui renvoient ITextPointers . J'ai aussi une collection de GlyphRuns extraites en utilisant ce code . Et maintenant, je veux enfin découvrir quelle GlyphRun contient le début de la sélection.

Donc je veux savoir comment convertir ITextPointers en GlyphRuns et vice versa. Je comprends qu'ils n'ont pas de relation 1:1. Ce contrôle avec API fermée et la dernière semaine passée dans Reflector ne me laisse pas dormir tranquille. J'espère que quelqu'un a essayé de le faire avant ou a vu des exemples de code et sera en mesure de me guider dans ces jungles.

1voto

justin.m.chase Points 3529

Je vous recommande d'abandonner cette approche. Faire beaucoup de réflexion privée comme cela n'est pas quelque chose sur lequel vous devriez baser votre code de production, c'est très fragile et carrément interdit dans certains contextes. Franchement, vous feriez mieux de trouver un contrôle tiers qui répond à vos besoins, tel que www.infragistics.com

Si ce n'est pas possible, vous pouvez probablement créer votre propre contrôle dans le temps qu'il vous faudra consacrer à son fonctionnement.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X