我只是想知道是否有人试图黑进WPF的DocumentViewer,以使其更有用。我已经花了将近一周的时间,试图基于我使用反射提取的方法为这个控件创建更强大的API。
每个人都知道如何通过反射从文档查看器中获取选定的文本,但我的任务更复杂。Selected text具有返回ITextPointers的End和Start属性。此外,我还有一个使用this code提取的GlyphRuns集合。最后,我想找出哪个GlyphRun包含selection start。
所以我想知道如何将ITextPointers转换为GlyphRuns,反之亦然。我知道他们没有一对一的关系。这个带有封闭API的控件和上周在Reflector中使用的控件让我睡不好觉。我希望以前有人尝试过这样做,或者看过代码示例,能够引导我通过这些丛林。
发布于 2012-05-13 00:41:48
我建议您放弃这种方法。做很多像这样的私有反射不是你应该基于生产代码的东西,它非常脆弱,在某些情况下是完全禁止的。坦率地说,你最好找一个适合你需要的第三方控件,比如www.infragistics.com
或者,如果这不是一个选项,你可以创建自己的控件,在你必须投入到让它工作的时间内。
https://stackoverflow.com/questions/5172720
复制相似问题