35

只是想知道是否有人试图侵入 WPFDocumentViewer以使其更有用。我已经花了将近一周的时间尝试根据我使用反射提取的方法为该控件创建更强大的 API。

每个人都知道如何通过反射从文档查看器中获取选定的文本,但我的任务更复杂。选定的文本具有EndStart返回的属性ITextPointers。此外,我还收集了使用此代码提取的GlyphRuns集合。现在最后我想找出哪个包含选择开始。 GlyphRun

所以我想知道如何转换ITextPointersGlyphRuns,反之亦然。我知道他们没有一对一的关系。这个带有封闭 API 的控件以及上周在 Reflector 中花费的时间并没有让我睡得很好。我希望也许有人以前尝试过或看过代码示例,并且能够引导我穿过这些丛林。

4

1 回答 1

1

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

或者,如果这不是一个选项,您可能可以创建自己的控件,而您必须投入大量时间才能使其正常工作。

于 2012-05-12T16:41:47.683 回答