文本控件类型
本主题提供有关 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 | 如果控件支持 文本 控件模式,则必须支持此事件。 |
相关主题
-
概念性