【问题标题】:How to measure text in a RichTextBox in Silverlight如何在 Silverlight 中测量 RichTextBox 中的文本
【发布时间】:2011-05-15 21:44:12
【问题描述】:

我想获得在我的 RichTextBox 中显示全文所需的高度(当文本超出控件的设置高度时)。

提醒:Silverlight 没有像 WPF 那样方便的 TextRenderer.MeasureText,也没有任何其他明显的测量文本的方法。

似乎没有任何方法可以做到这一点。我已经看到有人提到通过创建 TextBlock 并获取它的宽度来测量单一字体的文本(不像我的 RichTextBox 中那样混合)。即使这样也行不通 - 它对于某些字体来说是完美的,而对于其他字体来说却是不一致的。

我的应用偶尔会连接,所以无法调用服务器。

【问题讨论】:

    标签: silverlight-4.0


    【解决方案1】:

    正如您所说,我认为目前在 Silverlight 中没有很好的方法可以做到这一点。 First Floor Software 的 Document Toolkit 中提供了一些功能,但这些功能适用于处理 XPS 文档。我不确定您要做什么,但是在 Silverlight 5 中,当第一个 RichTextBox 无法显示所有数据时,RichTextBox 确实具有将文本“溢出”到多个其他 RichTextBox 的能力。这使您可以更轻松地创建多列文本布局。

    文档工具包:http://firstfloorsoftware.com/documenttoolkit

    SL5 视频:http://www.silverlight.net/learn/videos/all/silverlight-5-multi-column-linked-text/

    SL5 博文:http://10rem.net/blog/2011/04/13/silverlight-5-advancements-in-text

    【讨论】:

    • 如果我在 SL5 上,我会简单地 PInvoke(应用程序仅在 Windows 上运行)并调用 Windows API GetTextExtent
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多