此主题尚未评级 - 评价此主题

TextBlock 类

2013/12/13

提供用于显示少量文本的轻量控件。

Namespace:  System.Windows.Controls
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。
[ContentPropertyAttribute("Inlines", true)]
public sealed class TextBlock : FrameworkElement
<TextBlock ...>text</TextBlock>
-or-
<TextBlock>
  oneOrMoreInlineElements
</TextBlock>
-or-
<TextBlock .../>

XAML 值

文本

显示在 TextBlock 中的内部文本。此文本成为 Text 属性的值。它还在保留相同文本的 Inlines 集合中创建一个新的 Run 对象。

oneOrMoreInlineElements

一个或多个 RunLineBreak 元素。

TextBlock 类型公开以下成员。

  名称说明
公共方法TextBlock初始化 TextBlock 类的新实例。
返回顶部
  名称说明
公共属性ActualHeight获取 FrameworkElement 的呈现高度。 (从 FrameworkElement 继承。)
公共属性ActualWidth获取 FrameworkElement 的呈现宽度。 (从 FrameworkElement 继承。)
公共属性AllowDrop获取或设置一个值,该值确定此 UIElement 是否可用作拖放操作的放置目标。 (从 UIElement 继承。)
公共属性BaselineOffset返回表示每个文本行相对于基线的偏移量的值。
公共属性CacheMode获取或设置一个值,该值指示应在可能时缓存已呈现内容。 (从 UIElement 继承。)
公共属性CharacterSpacing获取或设置控件中文本字符之间的距离,测量单位为字体大小的千分之一。
公共属性Clip获取或设置用于定义 UIElement 的内容边框的 Geometry (从 UIElement 继承。)
公共属性Cursor基础结构。 获取或设置指针悬停在 FrameworkElement 上时所显示的光标图像。 (从 FrameworkElement 继承。)
公共属性DataContext获取或设置 FrameworkElement 参与数据绑定时的数据上下文。 (从 FrameworkElement 继承。)
公共属性DesiredSize获取此 UIElement 在布局过程的测量处理过程中计算的大小。 (从 UIElement 继承。)
公共属性Dispatcher获取与此对象关联的 Dispatcher (从 DependencyObject 继承。)
公共属性FlowDirection获取或设置文本和其他用户界面元素在控制其布局的任何父元素中的流动方向。 (从 FrameworkElement 继承。)
公共属性FontFamily获取或设置此元素中文本内容的首选顶级字体系列。
公共属性FontSize获取或设置此元素中文本内容的字号。
公共属性FontSource获取或设置应用于文本以呈现内容的字体源。
公共属性FontStretch获取或设置此元素中文本内容的字体拉伸。
公共属性FontStyle获取或设置此元素中内容的字形。
公共属性FontWeight获取或设置 TextBlock 的顶级字体粗细。
公共属性Foreground获取或设置要应用于 TextBlock 的文本内容的 Brush
公共属性Height获取或设置 FrameworkElement 的建议高度。 (从 FrameworkElement 继承。)
公共属性HorizontalAlignment获取或设置在布局父级(如面板或项控件)中构成 FrameworkElement 时应用于此元素的水平对齐特征。 (从 FrameworkElement 继承。)
公共属性Inlines获取 TextBlock 中内联文本元素的集合。
公共属性IsHitTestVisible获取或设置此 UIElement 的包含区域是否可为命中测试返回 true 值。 (从 UIElement 继承。)
公共属性Language获取或设置应用于 FrameworkElement 的本地化/全球化语言信息。 (从 FrameworkElement 继承。)
公共属性LineHeight获取或设置各行内容的高度。
公共属性LineStackingStrategy获取或设置一个值,该值指示如何为 TextBlock 中的每行文本确定一个行框。
公共属性Margin获取或设置 FrameworkElement 的外边距。 (从 FrameworkElement 继承。)
公共属性MaxHeight获取或设置 FrameworkElement 的最大高度约束。 (从 FrameworkElement 继承。)
公共属性MaxWidth获取或设置 FrameworkElement 的最大宽度约束。 (从 FrameworkElement 继承。)
公共属性MinHeight获取或设置 FrameworkElement 的最小高度约束。 (从 FrameworkElement 继承。)
公共属性MinWidth获取或设置 FrameworkElement 的最小宽度约束。 (从 FrameworkElement 继承。)
公共属性Name获取或设置对象的标识名称。 当 XAML 处理器从标记创建对象树时,运行时代码可以使用此名称引用标记元素。 (从 FrameworkElement 继承。)
公共属性Opacity获取或设置对象的不透明度。 (从 UIElement 继承。)
公共属性OpacityMask获取或设置用于改变此对象区域的不透明度的画笔。 (从 UIElement 继承。)
公共属性Padding获取或设置一个值,该值指示内容区域的边界与 TextBlock 所显示内容之间的边距的宽度。
公共属性Parent获取对象树中此 FrameworkElement 的父对象。 (从 FrameworkElement 继承。)
公共属性Projection获取或设置在呈现此 UIElement 时要应用的透视投影(三维效果)。 (从 UIElement 继承。)
公共属性RenderSize获取 UIElement 的最终呈现大小。 (从 UIElement 继承。)
公共属性RenderTransform获取或设置影响 UIElement 的呈现位置的变换信息。 (从 UIElement 继承。)
公共属性RenderTransformOrigin获取或设置由 RenderTransform 声明的任何可能呈现转换的原点,相对于 UIElement 的边界。 (从 UIElement 继承。)
公共属性Resources获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法,将资源项建立为 frameworkElement.Resources 属性元素的子对象元素。 (从 FrameworkElement 继承。)
公共属性Style获取或设置呈现过程中应用于此对象的实例 Style (从 FrameworkElement 继承。)
公共属性Tag获取或设置一个可用于存储有关此对象的自定义信息的任意对象值。 (从 FrameworkElement 继承。)
公共属性Text获取或设置 TextBlock 的文本内容。
公共属性TextAlignment获取或设置一个值,该值指示文本内容的水平对齐方式。
公共属性TextDecorations获取或设置一个值,该值指定应用于 TextBlock 元素中的内容的文本效果。
公共属性TextTrimming获取或设置当内容溢出内容区域时要采取的文本修整行为。
公共属性TextWrapping获取或设置 TextBlock 对文本进行换行的方式。
公共属性Triggers获取为 FrameworkElement 定义的动画的触发器的集合。 (从 FrameworkElement 继承。)
公共属性UseLayoutRounding获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。 (从 UIElement 继承。)
公共属性UseOptimizedManipulationRouting获取或设置指示系统是否应处理输入事件或是否 FrameworkElement 应处理输入事件的值。 (从 FrameworkElement 继承。)
公共属性VerticalAlignment获取或设置在父对象(如面板或项控件)中构成 FrameworkElement 时应用于此元素的垂直对齐特征。 (从 FrameworkElement 继承。)
公共属性Visibility获取或设置 UIElement 的可见性。不可见的 UIElement 不呈现,也不将其所需大小告知布局。 (从 UIElement 继承。)
公共属性Width获取或设置 FrameworkElement 的宽度。 (从 FrameworkElement 继承。)
返回顶部
  名称说明
公共方法AddHandler为指定的路由事件添加路由事件处理程序,并将该处理程序添加到当前元素的处理程序集合中。将 handledEventsToo 指定为 true 时,可为已标记为由其他元素在事件路由过程中处理的路由事件调用所提供的处理程序。 (从 UIElement 继承。)
公共方法Arrange定位子对象并确定 UIElement 的大小。为其子元素实现自定义布局的父对象应从其布局重写实现调用此方法以形成递归布局更新。 (从 UIElement 继承。)
受保护的方法ArrangeOverride提供 Windows Phone 布局的排列处理过程的行为。 类可以重写该方法来定义其自己的排列处理过程行为。 (从 FrameworkElement 继承。)
公共方法CaptureMouse将触摸输入捕获设置为 UIElement (从 UIElement 继承。)
公共方法CheckAccess确定调用线程是否可以访问此对象。 (从 DependencyObject 继承。)
公共方法ClearValue清除依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法FindName检索具有指定标识符名称的对象。 (从 FrameworkElement 继承。)
公共方法GetAnimationBaseValue返回为 Windows Phone 依赖项属性设置的任意基值,在动画不活动时将应用它们。 (从 DependencyObject 继承。)
公共方法GetBindingExpression检索 BindingExpression 中已建立绑定的依赖项属性。 (从 FrameworkElement 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
公共方法GetValueDependencyObject 返回依赖项属性的当前有效值。 (从 DependencyObject 继承。)
公共方法InvalidateArrange使 UIElement 的排列状态(布局)无效。使其无效后,将会更新 UIElement 的布局(以异步方式进行)。 (从 UIElement 继承。)
公共方法InvalidateMeasure使 UIElement 的测量状态(布局)无效。 (从 UIElement 继承。)
公共方法Measure更新 UIElementDesiredSize。一般地,实现其布局子级的自定义布局的对象从自己的 MeasureOverride 实现调用此方法以形成递归布局更新。 (从 UIElement 继承。)
受保护的方法MeasureOverride提供 Windows Phone 布局的度量处理过程的行为。 类可以重写该方法来定义其自己的度量处理过程行为。 (从 FrameworkElement 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法OnApplyTemplate在派生类中重写后,每当应用程序代码或内部进程(如重新生成布局处理过程)调用 ApplyTemplate,都将调用此方法。 简而言之,这意味着就在 UI 元素在应用程序中显示前调用该方法。 有关更多信息,请参见“备注”。 (从 FrameworkElement 继承。)
受保护的方法OnCreateAutomationPeer在派生类中实现时,为 Windows Phone 自动化基础结构返回类特定的 AutomationPeer 实现。 (从 UIElement 继承。)
公共方法ReadLocalValue返回依赖项属性的本地值(如果设置了本地值)。 (从 DependencyObject 继承。)
公共方法ReleaseMouseCaptureUIElement 中移除触摸输入捕获。在此调用后,一般没有对象具有触摸输入捕获。 (从 UIElement 继承。)
公共方法RemoveHandler从此 UIElement 中移除指定的路由事件处理程序。 (从 UIElement 继承。)
公共方法SetBinding使用提供的绑定对象,将绑定附加到 FrameworkElement 上,并返回 BindingExpressionBase 以供以后使用。 (从 FrameworkElement 继承。)
公共方法SetValueDependencyObject 设置依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
公共方法TransformToVisual返回一个变换对象,该变换对象可用于将 UIElement 中的坐标变换为指定的对象。 (从 UIElement 继承。)
公共方法UpdateLayout请确保 UIElement 的所有子对象位置都正确地进行了布局更新。 (从 UIElement 继承。)
返回顶部
  名称说明
公共事件BindingValidationError在绑定源报告数据验证错误时发生。 (从 FrameworkElement 继承。)
公共事件DoubleTap当悬停在此 UIElement 上时使用了DoubleTap 笔势的情况下发生。 (从 UIElement 继承。)
公共事件GotFocusUIElement 收到焦点时发生。 (从 UIElement 继承。)
公共事件Hold当悬停在此 UIElement 上时使用了 Hold 笔势的情况下发生。 (从 UIElement 继承。)
公共事件KeyDownUIElement 具有焦点的情况下按下键盘上的某个键时发生。 (从 UIElement 继承。)
公共事件KeyUpUIElement 具有焦点的情况下释放键盘上的某个键时发生。 (从 UIElement 继承。)
公共事件LayoutUpdated当 Windows Phone 可视化树的布局更改时发生。 (从 FrameworkElement 继承。)
公共事件Loaded当已构造 FrameworkElement 并将其添加到对象树中时发生。 (从 FrameworkElement 继承。)
公共事件LostFocusUIElement 失去焦点时发生。 (从 UIElement 继承。)
公共事件LostMouseCaptureUIElement 失去触摸屏输入捕获时发生。 (从 UIElement 继承。)
公共事件ManipulationCompleted对于 UIElement 的操作和延时完毕时发生。 (从 UIElement 继承。)
公共事件ManipulationDelta当输入设备在操作期间更改位置时发生。 (从 UIElement 继承。)
公共事件ManipulationStarted当输入设备对 UIElement 开始操作时发生。 (从 UIElement 继承。)
公共事件MouseEnter当在 UIElement 界定区域内点按屏幕时发生。 (从 UIElement 继承。)
公共事件MouseLeave当在 UIElement 界定区域外发生触摸事件时发生。 (从 UIElement 继承。)
公共事件MouseLeftButtonDown在点按 UIElement 时发生。 (从 UIElement 继承。)
公共事件MouseLeftButtonUp当手指抬离 UIElement 时(或当 UIElement 具有触摸输入捕获时)发生。 (从 UIElement 继承。)
公共事件MouseMove在以下情况下发生:当触摸 UIElement 时(或当 UIElement 具有触摸输入捕获时),手指的坐标位置位于屏幕上。 (从 UIElement 继承。)
公共事件MouseWheel基础结构。 在以下情况下发生:当鼠标指针悬停在 UIElement 上时或 UIElement 具有焦点时,用户滚动鼠标滚轮。 (从 UIElement 继承。)
公共事件SizeChangedFrameworkElement 上的 ActualHeightActualWidth 属性的值发生更改时发生。 (从 FrameworkElement 继承。)
公共事件Tap当悬停在此 UIElement 上时使用了 Tap 笔势的情况下发生。 (从 UIElement 继承。)
公共事件TextInput在 UI 元素以与设备无关的方式获取文本时发生。 (从 UIElement 继承。)
公共事件TextInputStart在 UI 元素以与设备无关的方式最初获取文本时发生。 (从 UIElement 继承。)
公共事件TextInputUpdate当通过输入方法编辑器 (IME) 继续编写文本时发生。 (从 UIElement 继承。)
公共事件Unloaded当此对象不再与主对象树连接时发生。 (从 FrameworkElement 继承。)
返回顶部
  名称说明
公共字段静态成员CharacterSpacingProperty标识 CharacterSpacing 依赖项属性。
公共字段静态成员FontFamilyProperty标识 FontFamily 依赖项属性。
公共字段静态成员FontSizeProperty标识 FontSize 依赖项属性。
公共字段静态成员FontStretchProperty标识 FontStretch 依赖项属性。
公共字段静态成员FontStyleProperty标识 FontStyle 依赖项属性。
公共字段静态成员FontWeightProperty标识 FontWeight 依赖项属性。
公共字段静态成员ForegroundProperty标识 Foreground 依赖项属性。
公共字段静态成员LineHeightProperty标识 LineHeight 依赖项属性。
公共字段静态成员LineStackingStrategyProperty标识 LineStackingStrategy 依赖项属性。
公共字段静态成员PaddingProperty标识 Padding 依赖项属性。
公共字段静态成员TextAlignmentProperty标识 TextAlignment 依赖项属性。
公共字段静态成员TextDecorationsProperty标识 TextDecorations 依赖项属性。
公共字段静态成员TextProperty标识 Text 依赖项属性。
公共字段静态成员TextTrimmingProperty标识 TextTrimming 依赖项属性。
公共字段静态成员TextWrappingProperty标识 TextWrapping 依赖项属性。
返回顶部

TextBlock 控件是在基于 Windows Phone 的应用程序中用于显示文本的主要元素。

当您在 TextBlock 中设置文本时,不必在 XAML 中显式指定 Text 属性。可以将文本放置在 TextBlock 容器中作为其内容或内部文本,如下面的示例所示:

<TextBlock>Hello, world!</TextBlock>
说明注意:

设置 Text 属性时不会保留前导或尾随空白。有关 XAML 中空白处理的详细信息,请参见 XAML for Windows Phone

可通过 TextAlignmentHorizontalAlignmentVerticalAlignment 属性对齐父容器布局内的 TextBlock

RunLineBreak 对象也可用于呈现格式化文本,在 XAML 中作为 TextBlock 的子元素呈现(或在代码中作为 Inlines 的项呈现)。Run 对象是一个文本元素,表示格式化文本或非格式化文本的一个离散区域。LineBreak 对象表示 TextBlock 中的显式新行。

所呈现的 TextBlockFontSize 属性的默认值为 11(以像素为度量单位)。

呈现的 TextBlockFontFamily 属性的默认值为"可移植用户界面"。有关“可移植的用户界面”概念的更多信息,请参见Windows Phone 的文本和字体

下图演示 TextBlock 控件,它显示文本作为复选框的标签。

UI_TextBlock

TextBlock 文本模型

TextBlock 还可表示包含在不同的 Run 元素(其中每个元素具有不同的字符级字体属性)中的一系列字符串,而不是表示单个字符串。LineBreak 对象表示 TextBlock 中的显式换行,并且通常用于环绕在 Run 元素之间。LineBreakRun 共享一个基类 (Inline),这使 TextBlock 可以承载其文本模型内容的强类型的 InlineCollection。该 InlineCollection 还是 TextBlock XAML 内容属性,并且最终结果是,为了在 TextBlock 模型中指定项,您只需将不同的 RunLineBreak 元素指定为 TextBlock 的子元素。

下面的 XAML 示例演示如何使用以 LineBreak 进行分隔的 Run 对象,在 TextBlock 中定义多个不同的格式化文本字符串。

<!-- Display formatted text as Run objects within a TextBlock. -->
<Canvas>
<TextBlock
  FontFamily="Arial" Width="400" Text="Sample text formatting runs">
  <LineBreak/>
  <Run Foreground="Maroon" FontFamily="Courier New" FontSize="24">Courier New 24</Run>
  <LineBreak/>
  <Run Foreground="Teal" FontFamily="Times New Roman" FontSize="18" FontStyle="Italic">Times New Roman Italic 18</Run>
  <LineBreak/>
  <Run Foreground="SteelBlue" FontFamily="Verdana" FontSize="14" FontWeight="Bold">Verdana Bold 14</Run>
</TextBlock>
</Canvas>

下图演示前面的 XAML 内容示例中呈现的格式化文本。

TextBlock 呈现多个 Run 对象

Sample of text formatting runs.

LineBreak 强制每个 Run 中的文本都显示为单独的一行。如果没有 LineBreak,每个 Run 中的文本将组合成为一行,并且通常由于超出 TextBlock 对象宽度或 Windows Phone 内容区域的宽度而被裁剪。下图显示在不使用 LineBreak 对象时,格式化文本将如何呈现。

不使用 LineBreak 对象的情况下呈现多个 Run 对象的 TextBlock

Sample text formatting runs.

在代码中访问 TextBlock 文本模型

实际有两个属性涉及 TextBlock 文本模型:TextInlines。通常不建议更改 Text 的值,因为它可以展平各 Run 项上的任何现有字体元素格式,而且还可以去除最初用内联项构造的 TextBlockLineBreak 元素,而不仅仅是 Text。有关详细信息,请参见 Inlines

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2014 Microsoft. 版权所有。