UI 自动化对 Text 控件类型的支持

注释

本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化

本主题提供有关文本控件类型的 UI 自动化支持的信息。 在 UI 自动化中,控件类型是控件为了使用属性 ControlTypeProperty 而必须满足的一组条件。 这些条件包括 UI 自动化树结构、UI 自动化属性值和控件模式的特定准则。

文本控件是表示屏幕上一段文本的基本用户界面项。

以下部分定义文本控件类型的所需 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于所有文本控件,无论是 Windows Presentation Foundation (WPF)、Win32 还是 Windows 窗体。

必需的 UI 自动化树结构

下表描述了与文本控件相关的 UI 自动化树的控件视图和内容视图,并描述了每个视图中可包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述

控件视图 内容视图
文本 文本(如果内容)

文本控件可以单独用作标签或窗体上的静态文本。 它也可以包含在以下结构中:

  • ListItem

  • TreeItem

  • DataItem

文本控件可能不在 UI 自动化树的内容视图中,因为文本通常通过 NameProperty 另一个控件显示。 例如,用于标记组合框控件的文本通过控件 NameProperty 的值公开。 由于组合框控件位于 UI 自动化树的内容视图中,因此不需要存在文本控件。 文本控件在内容视图中总是具有 0 个子项

所需的 UI 自动化属性

下表列出了其值或定义与文本控件特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅 客户端的 UI 自动化属性

UI 自动化属性 价值 注释
AutomationIdProperty 请参阅备注。 此属性的值需要在应用程序中的所有控件中唯一。
BoundingRectangleProperty 请参阅备注。 包含整个控件的最外侧矩形。
ClickablePointProperty 请参阅备注。 如果存在边界矩形,则受支持。 如果边界矩形中存在无法单击的点,而你要执行专门的命中测试,则重写并提供可单击的点。
IsKeyboardFocusableProperty 请参阅备注。 如果控件可以接收键盘焦点,它必须支持此属性。
NameProperty 请参阅备注。 文本栏控件的名称始终是它显示的文本。
LabeledByProperty Null 文本控件没有静态文本标签。
ControlTypeProperty 文本 对于所有 UI 框架,此值相同。
LocalizedControlTypeProperty “text” 与文本控件类型对应的本地化字符串。
IsContentElementProperty 取决于 如果文本控件包含的信息没有在其他控件的 NameProperty 中公开,那么它就满足了内容要求。
IsControlElementProperty 真 实 文本控件必须始终是控件。

必需的 UI 自动化控件模式

下表列出了文本控件支持所需的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI 自动化控件模式概述

控件模式 支持 注释
IValueProvider 从不 文本从不支持 ValuePattern。 如果文本可编辑,则为“编辑”控件类型。
ITextProvider 取决于 文本应该支持文本控件模式以增强可访问性,但这并不是必须的。 当文本具有丰富的样式和属性(例如颜色、粗体和斜体)时,文本控件模式非常有用。取决于框架。
ITableItemProvider 取决于 如果文本元素包含在 Table 控件中,则必须支持此元素。
IRangeValueProvider 取决于 如果文本元素包含在表控件中,则必须支持此元素。

所需的 UI 自动化事件

下表列出了所有文本控件支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述

UI 自动化事件 支持 注释
TextSelectionChangedEvent 必选 没有
TextChangedEvent 必选 没有
BoundingRectangleProperty 属性更改事件。 必选 没有
IsOffscreenProperty 属性更改事件。 必选 没有
IsEnabledProperty 属性更改事件。 必选 没有
NameProperty 属性更改事件。 必选 没有
ValueProperty 属性更改事件。 从不 没有
AutomationFocusChangedEvent 必选 没有
StructureChangedEvent 必选 没有

另请参阅