多行 WPF FormattedText 中特定字符的坐标

2023-12-21

如何获取多行 WPF FormattedText 中特定字符的位置(x y 坐标)?

我的文本可能包含斜体部分、粗体部分、不同字体、不同字体大小、不同对齐方式等,并且我需要获取第 30 个字符(可能位于第 3 行)的坐标。

通过使用我可以从 FormattedText (BuildGeometry) 构建的几何的子代(单词)的子代(字母),有某种半有效的技巧,但这并不总是有效,因为一些字形合并在一个单一几何体(如“fi”:仅一种几何体)。


FormattedText.BuildHighlightGeometry https://msdn.microsoft.com/en-us/library/system.windows.media.formattedtext.buildhighlightgeometry(v=vs.110).aspx,方法 (Point, Int32, Int32) 正是这样做的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多行 WPF FormattedText 中特定字符的坐标 的相关文章

随机推荐

  • TFS SDK:查询昨天的构建

    我可以查询团队项目中的所有构建 如下所示 var bServer teamProjectCollection GetService
  • HTML imgalign=“middle”不对齐图像

    我想要图像居中对齐 图像大小以像素为单位固定 所以我想要的是这样的 我所做的是 img src http icons iconarchive com icons rokey popo emotions 128 big smile icon
  • sklearn 在 pycharm 和终端中“numpy.dtype 的大小错误,请尝试重新编译”

    编译Sci kit学习时 我在pycharm和终端中都得到 numpy dtype大小错误 尝试重新编译 我已经升级了所有包 numpy scikit 到最新 没有任何效果 Python 版本是 2 7 请帮忙 欣赏 checking fo
  • 如何在Python中运行/执行exe文件?

    我对 python 还是新手 我尝试运行 exe 使用 python 文件 我可以知道我应该使用和导入什么吗 import subprocess subprocess call C Temp a b c Notepad exe C test
  • Android NDK 发布版本

    我试图在发布模式下构建我的 android 项目 为了在发布模式下构建我的项目 是否需要设置任何优化标志 除非您已创建 Application mk 或将您的应用程序定义为可在 AndroidManifest xml 中调试 否则您无需执行
  • 仅在 MVC4 BundleConfig 中缩小脚本

    我在 BundleConfig 中添加以下 ScriptBundle bundles Add new ScriptBundle bundles javascript Include Scripts jquery 1 Scripts load
  • FluentValidation Autofac ValidatorFactory

    我需要能够提供IComponentContext to my ValidatorFactory解决 FluentValidation 验证器 我有点卡住了 验证器工厂 public class ValidatorFactory Valida
  • numpy IndexError:当用另一个矩阵索引矩阵时,数组索引太多

    我有一个这样创建的矩阵 gt gt gt a np matrix 1 2 3 4 5 6 7 8 9 10 11 12 我有一个我创建的矩阵标签 如下所示 gt gt gt labels np matrix 1 0 1 1 这两个矩阵如下所
  • 如何将应用程序窗口托管为属于另一个进程的窗口的子窗口?

    我想将一个应用程序窗口从进程 A 托管到进程 B 的主窗口中 就像 A 的窗口是 MDI 子窗口一样 这在 Windows 中可能吗 还是有一些技巧可以让我伪造这个 顺便说一句 当 A 窗口嵌入到 B 窗口中时 我想删除 A 窗口的标题栏
  • 添加多个UIWindow

    我在另一个 UIWIndow 上添加一个新的 UIWIndow 以显示视图 但它没有显示任何内容 并且屏幕变得有点模糊 这是代码 UIWindow topWindow UIWindow alloc initWithFrame UIScree
  • Java 反映方法作用域变量

    使用反射 您几乎可以获得与类相关的所有内容 您可以获得所有声明的方法 字段和类 甚至可能更多 但我找不到反映方法的方法 因此我可以找出该方法可能使用的类 本质上我想找出给定类所具有的对其他类的所有依赖关系 例子 给出以下代码 import
  • MFMailComposeViewController:取消不会退出到我的应用程序?

    我正在尝试使用 MFMailComposeViewController 发送邮件 当我单击应用程序上的按钮时就会发生这种情况 当然 当我单击邮件控制器的取消按钮时 我想返回到我的应用程序视图 但它不起作用 该怎么办 这是我的代码 MFMai
  • 无法使用docker访问Web服务器

    我使用以下命令来运行容器 docker run p 3333 3333 d maill node web app 这是 docker ps 的结果 CONTAINER ID IMAGE COMMAND CREATED STATUS PORT
  • 如何在 NetBeans 中添加 JAR

    假设您创建了一个新项目 并希望它使用一些第三方库 例如 widget jar 在哪里添加这个 JAR 文件 gt gt 项目属性 gt gt 库 gt gt 编译时库 or 文件 gt gt 项目属性 gt gt 库 gt gt 运行时库
  • 是否可以在 Wildfly 中将数据源部署描述符与驱动程序模块一起使用?

    我无法使用 ds xml 部署描述符以及作为模块安装的数据库驱动程序来配置我的数据源 仅当我将数据库驱动程序直接部署为 jar 时 数据源 ds xml 文件才有效 我认为如果您选择将驱动程序安装为模块 则必须直接在standalone x
  • Visual Studio 调试器突出显示多行,而不仅仅是当前行

    这里有一个奇怪的人 当我尝试单步调试时 我全新安装的 Visual Studio 2017 版本 15 6 7 显示多行黄色 如下所示 它似乎指向它所在的正确行 但也指向它下面的其他几行 也许这与缩进或范围有关 我不确定 但当我进行结对编程
  • 有没有办法在 .NET 运行时中预分配堆,就像 Java 中的 -Xmx/-Xms 一样?

    在大多数平台和大多数 JVM 上 您可以通过将 Xmx 和 Xms 选项 或其变体 设置为相同大小来在启动时预分配堆 是否可以对 NET 执行相同的操作 如果可以 如何执行 遗憾的是 事实并非如此 NET 运行时为您做出有关堆大小和相对分代
  • 节点 --max_old_space_size 不起作用

    节点版本 6 9 x 我的申请给了我FATAL ERROR CALL AND RETRY LAST Allocation failed JavaScript heap out of memory error 所以我尝试使用更改内存分配max
  • 最大高度的子级:100% 溢出父级

    我试图了解对我来说似乎出乎意料的行为 我在容器内有一个最大高度为 100 的元素 该元素也使用了最大高度 但出乎意料的是 子元素溢出了父元素 container background blue padding 10px max height
  • 多行 WPF FormattedText 中特定字符的坐标

    如何获取多行 WPF FormattedText 中特定字符的位置 x y 坐标 我的文本可能包含斜体部分 粗体部分 不同字体 不同字体大小 不同对齐方式等 并且我需要获取第 30 个字符 可能位于第 3 行 的坐标 通过使用我可以从 Fo