Label控件支持设置字体大小、粗细等属性,但是这些设置会应用到Label所有的文本上。它很难嵌入不同格式的字符。
TextBlock 控件允许通过添加不同的Run 元素来格式化其一部分显示的文本。不同的Run 格式化的内容可以不尽相同。
下面是Label的例子:
<Label Background="DarkGray" Margin="10" Height="50" FontSize="14"
Content="Lancaster / York Richard, Duke of York Henry VI Warwick Somerset" />
下面是TextBlock 的例子,显示不同的内容
<TextBlock Background="DarkGray" Margin="10" Height="100" FontSize="14">
<Run Text="Lancaster" Foreground="Red" TextDecorations="Underline"/><Run Text=" / "/>
<Run Text="York" Foreground="White" TextDecorations="Underline"/>
<LineBreak/>
<Run Text="Richard, Duke of York" Foreground="White" FontSize="16" FontWeight="Bold"/>
<LineBreak/>
<Run Text="Henry VI" Foreground="Red" FontSize="16" FontWeight="Bold"/>
<LineBreak/>
<Run Text="Warwick" Foreground="White" FontStyle="Italic"/>
<LineBreak/>
<Run Text="Somerset" Foreground="Red" FontStyle="Italic"/>
</TextBlock>
下面是效果:
原文地址:https://wpf.2000things.com/2011/03/13/244-use-a-textblock-element-for-richer-formatting/
********************************************译者注**********************************************
可以看到TextBlock通过Run可以显示十分丰富的内容格式。
不仅仅是颜色、下划线、字体等,包含下标、上标、注脚等格式都可以实现。
1. 下面的代码是上标的实现代码,Run中的内容会以上标的形式显示
<Run Typography.Variants="Superscript">This text is Superscripted.</Run> This text isn't.
2. 下面的代码是下标的实现代码,Run中的内容会以下标的形式显示
<Run Typography.Variants="Subscript">This text is Subscripted.</Run> This text isn't.