文本块TextBlock的使用

18-Windows10应用开发-控件编程-文本块TextBlock的使用

1. 核心定位与基础语法

  • 功能定位:用于显示少量文本的轻量控件,呈现只读文本(不可编辑)。归属于前序分类中的“其它控件”(直接派生自 FrameworkElement 基类),无复杂模板结构。
  • 基础语法:
    • 属性赋值:<TextBlock Text="内容" ... />
    • 标签包裹:<TextBlock ...>内容</TextBlock>

2. 文字基础属性

  • 字体相关属性:FontFamily(字体名称)、FontSize(字体大小)、FontStyle(字体样式,如斜体)、FontWeight(字体粗细/加粗)。
  • 基础展示与布局:Text(文本内容)、Width(控件宽度)、Foreground(文字颜色)等。支持主题资源绑定(如示例中的 Background="{ThemeResource ApplicationPageBackgroundThemeBrush}")。

3. 文本折行与溢出控制(TextWrapping)

  • 默认行为:默认不折行,文本过长超出控件宽度时直接截断。
  • 折行属性:设置 TextWrapping 属性实现自动换行:
    • Wrap:超出宽度另起一行;会将英文单词强制折断拆分。
    • WrapWithOverflow:超出宽度另起一行;不会折断英文单词(按单词整体溢出或换行)。
  • 代码示例:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <TextBlock Text="这是什么 dfdsfdsf dsfsdfdsfdsf sdfdsfdsfds" 
               Width="150" FontSize="23" TextWrapping="Wrap" />
</Grid>Code language: HTML, XML (xml)

4. 分割文本信息(Inlines 与 Run 元素)

  • 核心机制:利用 Inlines 属性和 Run 标签,将同一段文本拆分为多个片段,分别设置独立的样式(如颜色、渐变、字体大小)。
  • 应用场景:同一行文本内实现部分红字、部分蓝字或渐变色。
  • 代码示例(带渐变色的多段文本):
<TextBlock>
    <TextBlock.Inlines>
        <Run Text="你好"/>
        <Run Text="XXXXX"/>
        <Run Text="XXXXX 222222">
            <Run.Foreground>
                <LinearGradientBrush>
                    <GradientStop Color="Red" Offset="0.5"/>
                </LinearGradientBrush>
            </Run.Foreground>
        </Run>
    </TextBlock.Inlines>
</TextBlock>Code language: HTML, XML (xml)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注