我使用FormattedText
來渲染文本,但似乎有任何方法對呈現的輸出執行每個字符點擊測試。它是隻讀的,所以我基本上只需要選擇,不需要編輯。什麼是對FormattedText執行命中測試的好方法?
我會用RichTextBox
或類似的,但我需要根據嵌入在文本本身的控制代碼輸出文本,所以它們不總是嵌套,這使得構建正確的內聯元素非常複雜。我對這個解決方案的表現也有點擔心;我有大量的線條,經常會附加新的線條。
我已經看過GlyphRun
,看起來我可以從它或相關的類獲得命中測試,但我會重新實現很多功能,並且似乎應該有一個更簡單的方法...
有誰知道一個很好的實現方法嗎?
FormattedText已經允許我獲取文本範圍的框,但我需要實際的選擇;所以我可能需要每個字符框,這很快就會變得混亂。這是一個可能的解決方案,但不是一個很好的解決方案...... – Eric 2009-02-12 05:05:23
有一個飛重或其他設計模式可以解決類似的問題(單個字符的bbox)。你能查看關於設計模式的Gamma書嗎?它在那裏。 – Sesh 2009-02-12 05:14:37