wpf DocumentViewer - 通过GlyphRun获取ITextPointer,反之亦然

时间:2011-03-02 20:02:14

标签: c# wpf documentviewer glyph

只是想知道是否有人试图入侵WPF DocumentViewer以使其更有用。我已经花了差不多一个星期的时间,已经尝试根据我使用反射提取的方法为这个控件创建更强大的API。

每个人都知道如何通过反射从文档查看器中获取所选文本,但我的任务更复杂。 Selected text具有返回End的{​​{1}}和Start个属性。我还使用GlyphRuns提取了this code的集合。现在最后我想找出哪个ITextPointers包含选择开始。

所以我想知道如何将GlyphRun转换为ITextPointers,反之亦然。我知道他们没有1:1的关系。这个控制与封闭的API和上周在Reflector花了不让我睡不好觉。我希望也许有人尝试过这样做或者看过代码示例,并且能够指导我完成这些丛林。

1 个答案:

答案 0 :(得分:1)

我建议你放弃这种方法。像这样进行大量的私人反射不是你应该以生产代码为基础的东西,它在某些情况下是非常脆弱和彻头彻尾的禁止。坦率地说,您最好找到适合您需求的第三方控件,例如www.infragistics.com

或者,如果这不是一个选项,你可以在你需要投入的时间内创建自己的控件。