wpf之TextBlock

前言

TextBlock是 WPF 中轻量级文本显示控件,主要用于显示只读文本。

1、Text

设置要显示的纯文本内容

2、Foreground

设置文本颜色

3、Background

设置文本背景色

4、FontFamily

设置字体,比如宋体,微软雅黑等

5、FontSize

设置字号,影响字体大小

6、FontWeight

设置字体粗细,分为以下情况

7、FontStyle

设置字体样式

1)Italic

指定一个斜体 FontStyle。

2)Normal

指定一个普通 FontStyle。

3)Oblique

指定一个倾斜 FontStyle。

8、TextWrapping

设置文本是否自动换行。

1)NoWrap

不执行换行。

2)Wrap 2

换行后占用的高度超出控件高度也换行

WrapWithOverflow 0

换行后占用的高度不超出控件高度也换行,超出空间高度不换行

9、TextTrimming

设置文本过长时的修剪方式。

1)CharacterEllipsis

在字符边界处修整文本。 将绘制省略号 (...) 来替代剩余的文本,下面的代码可以看出chinese显示不全只用了一个字符"C",后面跟着省略号。

csharp 复制代码
 <TextBlock Text="i am chinese" Width=" 100" Height=" 50"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="NoWrap"      TextTrimming="CharacterEllipsis"	   TextAlignment="Center" LineHeight="25" Padding="10" TextDecorations="Underline"	/>

2)None

不修整文本。

3)WordEllipsis

在单词边界处修整文本。 将绘制省略号 (...) 来替代剩余的文本,下面的代码可以看出chinese显示不全,干脆以单词am结尾,后面跟着省略号。

csharp 复制代码
 <TextBlock Text="i am chinese" Width=" 100" Height=" 50"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="WrapWithOverflow"      TextTrimming="WordEllipsis"	   TextAlignment="Center" LineHeight="25" Padding="10" TextDecorations="Underline"	/>

10、TextAlignment

设置文本的水平对齐方式。

1)Center

文本居中。

2)Justify

文本两端对齐,两端对齐生效的前提是必须能换行,并且两端对齐的效果是必须能换行的情况下才行,最终的效果是除了最后一行不是两端对齐外,其它行都是。

3)Left

默认。 文本左对齐。

4)Right

文本右对齐。

下面的代码中设置了文本居中、左对齐、右对齐、两端对齐,其中两端对齐的第一行是两端对齐,第二行不遵循两端对齐。

csharp 复制代码
<Window x:Class="wpf之TextBlock.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:wpf之TextBlock"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <StackPanel Orientation="Vertical" >
            <TextBlock Text="i am chinese" Width=" 100" Height=" 100"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="Wrap"       TextTrimming="None" 	   TextAlignment="Center" LineHeight="25" Padding="10" TextDecorations="Underline"	/>
            <TextBlock Text="i am chinese" Width=" 100" Height=" 100"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="Wrap"      TextTrimming="None"	   TextAlignment="Left" LineHeight="25" Padding="10" TextDecorations="Underline"	/>
            <TextBlock Text="i am chinese" Width=" 100" Height=" 100"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="Wrap"      TextTrimming="None"	   TextAlignment="Right"  LineHeight="25" Padding="10" TextDecorations="Underline"	/>
            <TextBlock Text="i am chinese" Width=" 100" Height=" 100"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="Wrap"      TextTrimming="None"	   TextAlignment="Justify"  LineHeight="25" Padding="10" TextDecorations="Underline"	/>
        </StackPanel >
    </Grid>
</Window>

11、LineHeight

设置行高。

12、Padding

设置文本与边框的内边距。

13 TextDecorations

为文本添加装饰,如下划线。

csharp 复制代码
<Window x:Class="wpf之TextBlock.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:wpf之TextBlock"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <StackPanel Orientation="Vertical" >
            <TextBlock Text="i am chinese" Width=" 100" Height=" 40"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="Wrap"       TextTrimming="None" 	   TextAlignment="Center" LineHeight="20" Padding="10" TextDecorations="Baseline" 	/>
            <TextBlock Text="i am chinese" Width=" 100" Height=" 40"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="Wrap"      TextTrimming="None"	   TextAlignment="Left" LineHeight="25" Padding="10" TextDecorations="Underline" 	/>
            <TextBlock Text="i am chinese" Width=" 100" Height=" 40"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="Wrap"      TextTrimming="None"	   TextAlignment="Right"  LineHeight="25" Padding="10" TextDecorations="OverLine"	/>
            <TextBlock Text="i am chinese" Width=" 100" Height=" 40"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Thin"   FontStyle="Italic"  TextWrapping="Wrap"      TextTrimming="None"	   TextAlignment="Justify"  LineHeight="25" Padding="10" TextDecorations="Strikethrough"	/>
        </StackPanel >
    </Grid>
</Window>

案例

下面的代码中,用于显示文本为"12345",宽度为50,背景色为红色,字体颜色为白色,宋体,字体大小20,粗体,斜体,文本换行,居中显示,行高为25,字体和边框距离10,具备下划线的文本。

csharp 复制代码
<Window x:Class="wpf之TextBlock.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:wpf之TextBlock"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        <StackPanel Orientation="Vertical" >
            <TextBlock Text="12345" Width=" 50"  Background="Red" Foreground="White"  FontFamily="宋体"   FontSize=" 20"  FontWeight="Bold"  FontStyle="Italic" TextWrapping="Wrap"     TextTrimming="CharacterEllipsis"	   TextAlignment="Center" LineHeight="25" Padding="10" TextDecorations="Underline"	/>
        </StackPanel >
    </Grid>
</Window>

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》

2、《C#与PLC通信从入门到精通 》

3、《C# Modbus通信从入门到精通》

4、《C#Socket通信从入门到精通 》

5、《C# MES通信从入门到精通》

6、《winform控件从入门到精通》

7、《C#操作MySql数据库从入门到精通》

相关推荐
椒颜皮皮虾྅18 小时前
让文档不止于文字:DeploySharp + PP-Structure,打通版面分析与表格重建
开发语言·学习·c#·.net·cuda
椒颜皮皮虾྅20 小时前
一套 C# 接口,解锁四类视觉任务:DeploySharp 分类、分割、关键点与旋转框实战
开发语言·分类·c#
罗迪尼亚的熔岩21 小时前
联合kuka机器人, 海康visonmaster 的手眼9点标定方法
机器人·c#·工业相机·标定
她说彩礼65万21 小时前
C# TaskCompletionSource
java·开发语言·c#
泛凡(Linyongui)2 天前
基于 CW32L010 的智能厨卫调温旋钮方案--低成本 EC21 编码旋钮全解析
单片机·嵌入式硬件·c#
暴走约伯2 天前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质
信息安全失业大专人员2 天前
每日了解一个智能体-WorkBuddy
开发语言·ai·c#·智能体
呆呆敲代码的小Y2 天前
【实战精选面试题】C# 面试题详细解答,按难易程度排序
android·java·游戏·c#·游戏开发·unity面试题·c#面试题
淡海水2 天前
09-01-内存-Unity资源生命周期全景
unity·c#·游戏引擎·.netcore·gc
椒颜皮皮虾྅2 天前
让 C# 读懂整张图:DeploySharp 驱动 PaddleOCR v4/v5/v6,打通 OCR 全流程
开发语言·人工智能·深度学习·学习·c#·ocr·cuda