2011-07-06 85 views
3

我正在嘗試獲取richtextbox中鍵入的所有字符的字符矩形。從MyRichTextBox.Document.ContentStart textpointer開始,我提前每個字符使用下面的代碼WPF RichTextBox GetCharacterRect

currentPointer = currentPointer.GetNextInsertionPosition(LogicalDirection.Forward) 

並使用下面的代碼

currentPointer.GetCharacterRect(LogicalDirection.Forward) 

檢索「字符」矩形但是看起來,對於任何從上面的代碼片段返回的文本指針,矩形的寬度始終爲0.現在,我可以根據前一個字符矩形和當前字符矩形之間的區域來計算字符矩形,但是當出現單詞換行時會導致出現問題。

有沒有什麼辦法可以從Rich Text Box的GetCharacterRect()函數獲得非零寬度?

編輯

從微軟here內容顯示了相同的。有人知道測量角色矩形的替代方法嗎?

回答

2

GetCharacterRect只是返回一個代表問題中字符前緣的矩形(即零寬度,但準確的高度和位置) - 而不是「包裝矩形」......儘管如果這就是你所追求的,你可以抓住兩個連續字符的前沿並進行數學運算。