【发布时间】:2018-10-17 12:19:35
【问题描述】:
标题确实说明了一切...我需要知道如何在 WPF 中测量多行文本。我真的不敢相信这个问题还没有在这里被问到。
我找到了测量 WPF 中的单行文本 (WPF equivalent to TextRenderer) 或 Windows 窗体 (C# – Measure String Width & Height (in pixels) Including Multi-line Text) 中的多行文本,但不是 WPF 中的多行文本的解决方案。我不能使用 Windows 窗体 DLL,因为我需要测量非基于 UI 的项目中的字符串,其中不欢迎 UI DLL。
为了进一步澄清,我需要的是一种方法,例如 Graphics.MeasureString 方法,我可以将设置的宽度传递给它,它将返回在 UI 中呈现字符串所需的像素高度......可以无需使用 UI 相关的 DLL 即可使用。
【问题讨论】:
-
“测量”是指检测多行文本块中的字符数?
-
我已经更新了我的问题以澄清。
-
如果你使用 TextBlock 或 Label 你可以使用 .ActualHeight 属性,你也可以将 MinHeight 设置为单行高度并在后面的代码中进行比较或除以该值来查找行数,TextBlock 将工作得更好,因为您有额外的文本格式选项,例如行高等
-
正如我在问题中提到的,我需要在不欢迎 UI DLL 的非基于 UI 的项目中测量字符串。不过感谢您的回复。
标签: wpf string multiline measure