只是想知道是否有人試圖破解WPF DocumentViewer
以使其更有用。我已經花了將近一週的時間,試圖基於我使用反射提取的方法爲這個控件創建更強大的API。wpf DocumentViewer - 通過GlyphRun獲取ITextPointer,反之亦然
每個人都知道如何通過反射從文檔查看器中獲取選定的文本,但我的任務更復雜。 Selected text有End
和Start
屬性返回ITextPointers
。我還收集了使用this code提取的GlyphRuns。現在終於我想知道哪個GlyphRun
包含選擇開始。
所以我想知道如何將ITextPointers
轉換爲GlyphRuns
,反之亦然。我知道他們沒有1:1的關係。封閉的API和上週花在Reflector上的這種控制不會讓我睡得好。我希望也許有人試過之前做過或者看過代碼示例,並且能夠引導我通過這些叢林。
正如你所說,沒有1:1的關係。此外,GlyphRun只能從對象繼承。但是,它確實包含值得注意的方法。 (我還沒有嘗試過其中任何一個。)例如,GlyphRun.ComputeAlignmentBox()返回一個Rect,它可能包含位置數據。我認爲這是關鍵...將GlyphRun和TextPointer位置數據相關聯。 – 2011-12-08 21:07:31
你可以與我們分享一些代碼,這樣我們可以嘗試一些嘗試 – 2012-04-28 12:38:33
@HBMAAM,在這一年我找到或多或少的工作解決方案,我打算在這裏發佈,但這需要一些時間。 – Snowbear 2012-04-28 14:51:28