【问题标题】:WPF RichTextBox GetCharacterRectWPF RichTextBox GetCharacterRect
【发布时间】:2011-09-29 10:24:25
【问题描述】:

我正在尝试获取在富文本框中键入的所有字符的字符 rect。从 MyRichTextBox.Document.ContentStart 文本指针开始,我使用以下代码推进每个字符

currentPointer = currentPointer.GetNextInsertionPosition(LogicalDirection.Forward)

并使用以下代码检索“字符”矩形

currentPointer.GetCharacterRect(LogicalDirection.Forward)

但看起来,对于从上述代码段返回的任何文本指针,矩形的宽度始终为 0。现在我可以根据前一个字符矩形和当前字符矩形之间的区域计算字符矩形,但这会在出现自动换行时出现问题。

有什么方法可以从富文本框的 GetCharacterRect() 函数中获得非零宽度?

编辑

来自 Microsoft here 的内容显示相同。有人知道测量字符 rect 的替代方法吗?

【问题讨论】:

    标签: c# wpf richtextbox flowdocument


    【解决方案1】:

    GetCharacterRect 只返回一个代表相关字符前缘的矩形(即,零宽度,但高度和位置准确) - 不是“包装矩形”......尽管如果那是你所追求的,您可以抓住两个连续字符的前沿并进行数学运算。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-25
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 2013-11-04
      相关资源
      最近更新 更多