跳到主要内容
版本:11.0.0

TextBlock 文本块

TextBlock 是一个用于显示文本的只读标签。它可以显示多行文本,并且可以完全控制所使用的字体。

常用属性

你可能最常使用这些属性:

属性描述
Text要显示的文本。
FontSize字体的大小。
FontWeight字体的粗细。默认是正常,选项包括 Bold
FontStyle应用于字母的样式。默认是正常,选项包括 Italic
TextDecorations应用于字母的线条装饰。默认是无,选项包括 UnderlineStrikethroughBaselineOverline。要同时应用多个,请在选项之间用空格分隔。
xml:spacexml:space="preserve" 指示 XML 解析器保留分配给 TextBlock 的内容的换行符和空白,否则默认情况下会被删除。

示例

此示例演示使用多个 TextBlock 控件来显示标题、包含额外空格的单行和多行显示。

<StackPanel Margin="20">
<TextBlock Margin="0 5" FontSize="18" FontWeight="Bold">Heading</TextBlock>
<TextBlock Margin="0 5" FontStyle="Italic" xml:space="preserve">This is a single line.</TextBlock>
<TextBlock Margin="0 5" xml:space="preserve">This is a multi-line display
that has returns in it.
The text block respects the line breaks
as set out in XAML.</TextBlock>
</StackPanel>

样式在预览窗格中工作:

内联

文本内联允许在单个 TextBlock 内对文本和控件进行多样化格式化。虽然 TextBlock.Text 通常用于显示单一格式的文本,但其子 Content 允许包含内联集合。

Run

Run 内联表示一段连续的统一格式文本。

<Style Selector="Run.activity">
<Setter Property="Foreground" Value="#C469EE" />
<Setter Property="FontStyle" Value="Italic" />
<Setter Property="TextDecorations" Value="Underline" />
</Style>

<TextBlock>
<Run Text="Your name is" />
<Run FontSize="24" FontWeight="Bold" Foreground="Orange" Text="{Binding Name}" />
<Run Text="and your favorite activity is" />
<Run Classes="activity" Text="{Binding Activity}" />
</TextBlock>

LineBreak

LineBreak 内联强制换行。

<TextBlock>
This is the first line and<LineBreak />here comes the second
</TextBlock>

Span

Span 内联允许对内联进行分组,包括非文本内联。虽然 Span 可以应用自己的文本格式,但有一些预定义的格式内联派生自 SpanBoldItalicUnderline。用户还可以从 Span 派生以创建自己的格式,而不是使用样式。

<TextBlock>
This text is <Span Foreground="Green"> green with <Bold>bold sections,</Bold>
<Italic>italic <Span Foreground="Red">red</Span> sections,</Italic>
some
<Run FontSize="24"> enlarged font runs,</Run>
and</Span>
back to the original formatting
</TextBlock>

InlineUIContainer

InlineUIContainer 允许将任何 Control 作为内联包含。

<TextBlock ClipToBounds="False" FontSize="32" TextWrapping="Wrap">
🚀 This <Span BaselineAlignment="TextTop">example</Span> shows the <Bold>power</Bold> of
<InlineUIContainer BaselineAlignment="Baseline">
<Image Width="32" Height="32" VerticalAlignment="Top" Source="/Assets/avalonia-logo.ico" />
</InlineUIContainer>
in creating rich text displays with
<InlineUIContainer>
<Button Padding="0,8,0,0">
<TextBlock ClipToBounds="False" FontSize="24" Text="👍👍🏼👍🏽👍🏾👍🏿" />
</Button>
</InlineUIContainer>
inline controls 📈
</TextBlock>

更多信息

信息

有关此控件的完整 API 文档,请参见此处

信息

在 GitHub 上查看源代码 TextBlock.cs