微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – WPF RichTextBox GetCharacterRect

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

currentPointer = currentPointer.GetNextInsertionPosition(LogicalDirection.Forward)

并使用以下代码检索“character”rect

currentPointer.GetCharacterRect(LogicalDirection.Forward)

但看起来,对于从上面的代码返回的任何textpointer,rect的宽度始终为0.现在我能够根据前一个字符rect和当前字符rect之间的区域计算字符rect,但这会导致发生自动换行时的问题.

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

编辑

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

解决方法

GetCharacterRect只返回一个矩形,表示相关字符的前沿(即零宽度,但准确的高度和位置) – 而不是“包装矩形”…虽然如果这就是你所追求的,你可以抓住两个连续字符的前沿并进行数学运算.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐