ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

c# – WPF RichTextBox GetCharacterRect

2019-07-04 20:05:40  阅读:372  来源: 互联网

标签:c wpf richtextbox flowdocument


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

标签:c,wpf,richtextbox,flowdocument
来源: https://codeday.me/bug/20190704/1380372.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有