c# - 使用 FormattedText 对象,我如何找出我的文本实际显示了多少?

标签 c# wpf windows text-formatting

如果我有这样的代码:

FormattedText text = new FormattedText(sTheBook,
      System.Globalization.CultureInfo.CurrentUICulture,
      System.Windows.FlowDirection.LeftToRight, 
      new Typeface("Times New Roman"), 
      13, Brushes.Black);

text.MaxTextWidth = 300;
text.MaxTextHeight = 600;
text.TextAlignment = TextAlignment.Justify;
dc.DrawText(text, new Point(10, 0));

...那么,如果它很长,屏幕上只会显示我(通过 sTheBook)传入的一些文本。我需要知道显示了多少,以便稍后显示其余部分!我可以很容易地测量文本的数量,但是通过一遍又一遍地渲染和重新渲染我的文本来进行搜索,直到我找到完全适合的片段,这似乎很愚蠢。

如果其他 WPF 文本呈现技术具有此功能,我愿意使用它。

谢谢!

最佳答案

您可以通过查看 Width 和 Height 属性来简单地确定其大小。应用换行后,这将为您提供“所需大小”。

关于c# - 使用 FormattedText 对象,我如何找出我的文本实际显示了多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2886712/

相关文章:

c++ - 将项目添加到队列时运行线程

javascript - 从前端javascript中加载的DLL调用函数(在客户端javascript中加载dll)

c# - 如何使用 MVVM Light 从一个页面传递查询字符串参数并在 WP 7 中获取另一个页面

C#:有什么方法可以轻松查找/更新对对象的所有引用?

c# - 绑定(bind)到依赖属性魔法

c# - Windows 8 上的 Matlab 生成器 NE/MCR

c++ - 如何在 C++ 代码块窗口中使用 boost 1.63 库?

c# - 具有只读属性的数据绑定(bind)

wpf - 在没有转换器的情况下根据 bool 值绑定(bind) Image.Source?

windows - 如何使用 docker 在 Windows Server 2019 中使用 nginx 设置反向代理?