表控件类型
本主题提供有关 Microsoft UI 自动化对表控件类型的支持的信息。
表控件包含文本行和列,还可以选择包含行标题和列标题。
以下部分定义 Table 控件类型所需的UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成UI 自动化控件类型和控件模式支持的所有表控件。
本主题包含以下各节:
典型树结构
下表描述了与表控件相关的UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
|
|
如果表控件具有行标题或列标题,则必须在UI 自动化树的控件视图中公开它们。 内容视图不需要公开此信息,因为可以使用 IUIAutomationTablePattern 对其进行访问。
相关属性
下表列出了其值或定义与表控件特别相关的UI 自动化属性。 有关UI 自动化属性的详细信息,请参阅从UI 自动化元素检索属性。
UI 自动化属性 | 值 | 说明 |
---|---|---|
UIA_AutomationIdPropertyId | 请参阅注释。 | 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。 |
UIA_BoundingRectanglePropertyId | 请参阅注释。 | 包含整个控件的最外层矩形。 |
UIA_ClickablePointPropertyId | 请参阅注释。 | 如果存在边界矩形,则受支持。 如果边界矩形中的每个点都不可单击,并且元素执行专门的命中测试,请重写并提供一个可单击的点。 |
UIA_ControlTypePropertyId | 表 | |
UIA_DescribedByPropertyId | 请参阅注释。 | 如果该表由其他 UI 元素(例如,保存对表的说明的文本元素)进行了批注,则 DescribedBy 属性应公开对文本控件的自动化元素的引用。 |
UIA_HelpTextPropertyId | 请参阅注释。 | 如果 UIA_NamePropertyId 属性未充分解释表用途的更多详细信息,则应通过此属性公开。 |
UIA_IsContentElementPropertyId | TRUE | 表控件必须始终出现在UI 自动化树的内容视图中。 |
UIA_IsControlElementPropertyId | TRUE | 表控件必须始终显示在UI 自动化树的控件视图中。 |
UIA_IsKeyboardFocusablePropertyId | 请参阅注释。 | 如果该控件可以接收键盘焦点,则它必须支持此属性。 |
UIA_LabeledByPropertyId | 请参阅注释。 | 如果没有静态文本标签,则此属性应公开对该控件的自动化元素的引用。 |
UIA_LocalizedControlTypePropertyId | 请参阅注释。 | 对应于 Table 控件类型的本地化字符串。 en-US 或英语 (美国) 的默认值为“table”。 |
UIA_NamePropertyId | 请参阅注释。 | 表控件通常从静态文本标签获取其名称的值。 如果没有静态文本标签,元素必须分配一个 Name 属性,该属性必须始终可用于解释表的用途。 |
所需的控件模式
下表列出了所有表控件需要支持的UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview。
控件模式 | 支持 | 说明 |
---|---|---|
IGridProvider | 必选 | 由于表控件包含网格中显示的项,因此它始终支持 Grid 控件模式。 |
IGridItemProvider | 子对象为必需项 | 表的内部对象应同时支持 GridItem 和 TableItem 控件模式。 表本身不需要支持 GridItem 或 TableItem 控件模式,除非该表是另一个表的一部分。 |
ITableProvider | 必选 | 表控件始终可以具有与内容关联的标头。 |
ITableItemProvider | 子对象为必需项 | 表的内部对象应同时支持 GridItem 和 TableItem 控件模式。 表本身不需要支持 GridItem 或 TableItem 控件模式,除非该表是另一个表的一部分。 |
必需事件
下表列出了表控件需要支持的UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty。
UI 自动化事件 | 说明 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 属性更改事件。 | |
UIA_IsEnabledPropertyId 属性更改事件。 | 如果控件支持 IsEnabled 属性,则必须支持此事件。 |
UIA_IsOffscreenPropertyId 属性更改事件。 | 如果控件支持 IsOffscreen 属性,则必须支持此事件。 |
UIA_StructureChangedEventId |
相关主题
-
概念性