长文本显示
在WPF中,如果想要处理TextBlock中文本超出部分的显示,通常可以使用以下几种方法来实现文本的裁剪或者显示省略号:
使用TextTrimming属性
TextBlock控件有一个TextTrimming属性,它允许你指定当文本超出控件边界时如何裁剪。常用的选项包括:
- None: 默认值,不进行裁剪,文本可能会超出控件边界而被遮挡。
- CharacterEllipsis: 超出部分以省略号(…)表示,适用于单行文本。
- WordEllipsis: 超出部分以省略号表示,但会确保不会截断单词,适用于单行文本。
示例:1
2
3<TextBlock Text="Your long text here"
TextTrimming="CharacterEllipsis"
Width="100"/>
使用ToolTip显示完整文本
如果希望在用户将鼠标悬停在TextBlock上时显示完整的文本内容,可以将ToolTip绑定到Text属性。
示例:
1 | <TextBlock Text="Your long text here" |
使用TextBlock的MaxWidth属性
通过设置TextBlock的MaxWidth属性,可以限制文本的宽度,超出部分会被裁剪。
示例:1
2<TextBlock Text="Your long text here"
MaxWidth="100"/>
TextBlock 文本展示
选中和悬浮变色
1 | <TextBlock |
文字阴影
1 | <TextBlock |
文本换行
方式1
转义字符换行
代码中
1 | this.TextBlock1.Text = "AAAAAAA\nBBBBBBBB"; |
XAML中
1 | <TextBlock Text="AAAAAAA
BBBBBB" /> |
方式2
设置自动换行
1 | <TextBlock Width="60" TextWrapping="Wrap" Text="AAAAAAA BBBBBB"/> |
方式3
使用InLines属性的LineBreak来换行
简单的来说就是,显示的XAML表示用
1 | <TextBlock Width="60" TextWrapping="Wrap"> |
后台代码添加
1 | TextBlock1.Inlines.Add(New Run("AAAAAA")); |
另外如果RUN里面有大量的文字表示,超过了TextBlock的Width时候,文字会被剪切掉,而不是自动换行,这点需要注意一下