WPF中的TextBlock处理长字符串

Xaml:

<StackPanel>
                <TextBlock Margin="10" Foreground="Red">
                        This is a TextBlock control<LineBreak />
                        with multiple lines of text.
                </TextBlock>
                <TextBlock Margin="10" TextTrimming="CharacterEllipsis" Foreground="Green">
                        This is a TextBlock control with text that may not be rendered completely, which will be indicated with an ellipsis.
                </TextBlock>
                <TextBlock Margin="10" TextWrapping="Wrap" Foreground="Blue">
                        This is a TextBlock control with automatically wrapped text, using the TextWrapping property.
                </TextBlock>
</StackPanel>

如图:

 

上面用了三个文本框,每一个都用不同的颜色,它们用不同的方式处理了文本太长的问题。

红色文本框使用LineBreak标记在指定的位置换行。它给了你绝对的控制权,能做到随时切换到新行。但是很多情况下却不适用。如果用户把窗口拉大,文本仍在原来的位置换行,即使有足够的空间把整个文本一行显示。

绿色文本框使用TextTrimming属性赋值为CharacterEllipsis,当文本无法显示全的时候显示为省略号。这很好的显示了文本很长但是不够显示完整。如果你有很长的文本但是不想显示多行,那么这是一个很好的方法。另外你还可能用到WordEllipsis,它以单词为单元进行省略,而不是以字母,防止一个单词只显示部分。

蓝色文本框使用TextWrapping属性赋值为Wrap,它能让文本自动换行。与第一种手动切换相比,它是完全自动的。它还能随着空间的改变而自动调整。通过拉大或缩小窗口,你会发现自动换行发挥完美。

 

转载于:https://www.cnblogs.com/Leozi/p/10798482.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值