文本控件类型

本主题提供有关 Microsoft UI 自动化对 Text 控件类型的支持的信息。

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

以下部分定义了 Text 控件类型所需的UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成UI 自动化对控件类型和控件模式的支持的所有树控件。

本主题包含以下各节:

典型树结构

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

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

 

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

文本控件可能不会显示在UI 自动化树的内容视图中,因为文本通常通过另一个控件的 Name 属性显示。 例如,用于标记组合框控件的文本通过控件的 Name 属性公开。 由于组合框控件位于UI 自动化树的内容视图中,因此文本控件不需要存在。 如果存在嵌入对象(如超链接),则文本控件在内容视图中可能具有子级。

相关属性

下表列出了值或定义与文本控件特别相关的UI 自动化属性。 有关UI 自动化属性的详细信息,请参阅从 UI 自动化 元素检索属性

UI 自动化属性 说明
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId 请参阅注释。 如果存在边界矩形,则受支持。 如果边界矩形中的每个点都是可单击的,并且元素执行专门的命中测试,请重写并提供可单击的点。
UIA_ControlTypePropertyId 文本
UIA_IsContentElementPropertyId 依赖的对象 如果文本控件包含未在另一个控件的 Name 属性中公开的信息,则为内容。
UIA_IsControlElementPropertyId TRUE 文本控件必须始终为控件。
UIA_IsKeyboardFocusablePropertyId 请参阅注释。 如果该控件可以接收键盘焦点,则它必须支持此属性。
UIA_LabeledByPropertyId Null 文本控件没有静态文本标签。
UIA_LocalizedControlTypePropertyId 请参阅注释。 Text 控件类型对应的本地化字符串。 en-US 或英语 (美国) 的默认值为“text”。
UIA_NamePropertyId 请参阅注释。 文本控件的名称可以是它显示的文本。 但是,如果控件还支持 文本 模式,并且文本内容广泛,请不要使用全文内容作为 Name 值。 请改为提供一个较短的 Name 值,该值派生自控件的其他属性。

 

所需的控件模式

下表列出了需要由文本控件支持的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview

控件模式 支持 说明
IGridItemProvider 依赖的对象 如果文本控件包含在表控件中,则必须支持 GridItem 控件模式。
ITableItemProvider 依赖的对象 如果文本控件包含在表控件中,则必须支持 TableItem 控件模式。
ITextProvider 依赖的对象 文本应支持 文本 控件模式,以提高辅助功能;但是,这不是必需的。 当文本具有丰富的样式和特性(例如,颜色、粗体和斜体)时,“文本”控件模式会很有用。
IValueProvider 从不 文本控件从不支持 Value 控件模式。 如果文本是可编辑的,则为 Edit 控件类型。

 

必需事件

下表列出了文本控件需要支持UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty

UI 自动化事件 说明
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,则必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_NamePropertyId 属性更改事件。
UIA_StructureChangedEventId
UIA_Text_TextChangedEventId 如果控件支持 文本 控件模式,则必须支持此事件。

 

概念性

UI 自动化控件类型概述

UI 自动化概述