WPF TextBlock Cutoff

che*_*tan 7 wpf textblock

嗨Guyz我有一个固定宽度的WPF TextBlock说100,如果字符串不适合宽度,则最后一个字符被切断,因为所有字符的大小都不一样.我不想剪切字符,而是想从那里跳过文本,只显示没有字符截止的文本.

Pau*_*ell 15

您有几个选项来控制文本的换行和剪切:

  • TextWrapping 可用于使文本流向下一行
  • TextTrimming 可用于决定如何剪切不适合的文本

TextTrimming=None (默认值)意味着将隐藏不适合的文本,但它可能会缩小字符的中间位置,这听起来像您描述的问题.

TextTrimming=WordEllipsis或者TextTrimming=CharacterEllipsis将避免显示半个字符,但会在文本末尾附加"...".这对用户来说可能看起来更好.

如果你想在不添加省略号的情况下切断多余的字符,你必须使用Ed S.描述的技术


Ed *_* S. 1

我想我不太明白你在这里的用例。我的第一个建议是简单地动态调整 TextBlock 的大小。如果这是不可能的,那么您将必须获取字符串的宽度并自行操作它,然后再将其设置在 TextBlock 中(或者使用固定宽度字体,假设您可以并且知道字符串的最大长度)。

如果需要在显示之前测量字符串的宽度,可以使用FormattedText 类来执行此操作。