【问题标题】:How do I truncate a string with an ellipsis in a Silverlight TextBlock?如何在 Silverlight TextBlock 中截断带有省略号的字符串?
【发布时间】:2011-09-07 00:37:11
【问题描述】:

如果我为 TextBlock 显示一个太长的字符串,它似乎会一直写到 TextBlock 的边缘。如果文本不适合提供的空间,我宁愿它使用添加省略号(“...”)的常用技术。我应该如何在 Silverlight 中执行此操作?

我找到的所有引用都使用了 Silverlight 中不可用的 TextRenderer 类

【问题讨论】:

  • 我发现 stackoverflow.com/questions/1565953/… 提出了同样的问题,但在接受的答案中给出的两个示例都使用了 TextRenderer,因此它们实际上不适用于 Silverlight。

标签: c# silverlight silverlight-4.0


【解决方案1】:

您没有说这是哪个 Silverlight 版本。假设 Silverlight 4,它通过 TextTrimming 属性烘焙到 TextBlock 中。

<TextBlock TextTrimming="WordEllipsis"/>

您唯一需要做的就是确保您的 TextBlock 的宽度得到适当限制,并且您使用 NoWrap 代替 TextWrapping

【讨论】:

    【解决方案2】:

    将 TextTrimming 属性设置为 WordEllipsis。

    <TextBlock Text="My long text" TextTrimming="WordEllipsis"/>
    

    【讨论】: