我可以将WPF TextBlock高度限制为两行吗?

6 wpf textblock

我刚收到要求在控件中显示一段文本的要求.控件具有特定的宽度,高度最多为2行.如果它渲染超过两行,它将只在字符串的末尾显示"...".

这是否可以使用任何库存标准WPF控件?

感谢:D.

Ray*_*Ray 14

将TextBlock的高度设置为足够高以适合两行.将TextWrapping设置为Wrap,将TextTrpping设置为CharacterEllipsis或WordEllipsis.

对于默认的Segoe UI 12Pt字体,我发现这样做

<TextBlock TextWrapping="Wrap" Height="40" TextTrimming="CharacterEllipsis" />
Run Code Online (Sandbox Code Playgroud)

如果你愿意的话,你可以在后面编写一些代码来计算特定字体的高度.


Ste*_*ton 0

这不是我发现的标准行为,但我也没有寻找它。

一种可能性是在 TextArea 控件中使用等宽字体,然后如果字符串大于该区域中容纳的字符数,则仅使用省略号显示正确的 N 个字符