TreeItem 控件类型
本主题提供有关 Microsoft UI 自动化对 TreeItem 控件类型的支持的信息。
TreeItem 控件类型表示树容器中的节点。 各个节点可能包含其他节点,称为子节点。 以按展开或折叠的方式显示父节点或包含子节点的节点。
以下部分定义了 TreeItem 控件类型所需的UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成UI 自动化控件类型和控件模式支持的所有树项控件。
本主题包含以下各节:
典型树结构
下表描述了与树项控件相关的UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
|
|
树项控件可以有零个或多个 UI 自动化树的内容视图中的树项子控件。 如果树项控件的功能超出了下面列出的控件模式中公开的功能,则控件应基于 DataItem 控件类型。
折叠的树项在展开并可见 (之前不会显示在控件视图或内容视图中,或者可以滚动到视图) 。
控件视图可以包含控件的其他详细信息,包括关联的图像或按钮。 例如,大纲视图中的项可能包含图像,以及用于展开或折叠该大纲的按钮。 这些详细信息对象不会显示在内容视图中,因为信息已由父树项表示。
从屏幕上滚动的树项同时显示在UI 自动化树的控件和内容视图中,并且应将 IUIAutomationElement::CurrentIsOffscreen (或 CachedIsOffscreen) 属性设置为 TRUE。
相关属性
下表列出了值或定义与 TreeItem 控件类型特别相关的UI 自动化属性。 有关UI 自动化属性的详细信息,请参阅从 UI 自动化 元素检索属性。
UI 自动化属性 | 值 | 说明 |
---|---|---|
UIA_AutomationIdPropertyId | 请参阅注释。 | 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。 |
UIA_BoundingRectanglePropertyId | 请参阅注释。 | 包含整个控件的最外层矩形。 |
UIA_ClickablePointPropertyId | 请参阅注释。 | 此属性必须返回导致树项更改选择状态或变为焦点的位置。 |
UIA_ControlTypePropertyId | TreeItem | 此值对于所有 UI 框架均相同。 |
UIA_IsContentElementPropertyId | TRUE | 树项控件始终包含在UI 自动化树的内容视图中。 |
UIA_IsControlElementPropertyId | TRUE | 树项控件始终包含在UI 自动化树的控件视图中。 |
UIA_IsKeyboardFocusablePropertyId | 请参阅注释。 | 如果该控件可以接收键盘焦点,则它必须支持此属性。 |
UIA_IsOffscreenPropertyId | 请参阅注释。 | 此属性指示是否从屏幕上滚动树项控件。 |
UIA_ItemStatusPropertyId | 请参阅注释。 | 如果控件包含动态更新的状态,则必须支持此属性,以便辅助技术可以在元素的状态更改时接收更新。 |
UIA_ItemTypePropertyId | 请参阅注释。 | 如果树项控件使用可视图标来指示是特定类型的项,则必须支持此属性,并且必须指示项类型。 |
UIA_LabeledByPropertyId | NULL | 树项控件自行进行标记。 |
UIA_LocalizedControlTypePropertyId | 请参阅注释。 | 与 TreeItem 控件类型相对应的本地化字符串。 en-US 或英语 (美国) 的默认值为“树项”。 |
UIA_NamePropertyId | 请参阅注释。 | 此属性公开为每个树项控件显示的文本。 |
所需的控件模式
下表列出了所有树项控件需要支持的UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview。
控件模式/模式属性 | 支持/值 | 注释 |
---|---|---|
IExpandCollapseProvider | 必选 | 所有树项都必须支持 ExpandCollapse 控件模式,因为所有项都可以展开或折叠。 |
ExpandCollapseState | 展开、折叠或叶节点 | 树项不是展开或折叠的叶节点。 |
IInvokeProvider | 依赖的对象 | 如果树项可以执行命令,则实现 Invoke 控件模式。 |
IScrollItemProvider | 依赖的对象 | 如果树容器支持 Scroll 控件模式,则实现 ScrollItem 控件模式。 |
ISelectionItemProvider | 依赖的对象 | 如果有可能在用户返回到树容器时保持活动选择,则实现 SelectionItem 控件模式。 |
SelectionContainer | 必选 | 此属性为容器中的所有项公开同一容器。 |
必需事件
下表列出了树项控件需要支持的UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty。
UI 自动化事件 | 说明 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 属性更改事件。 | |
UIA_ExpandCollapseExpandCollapseStatePropertyId 属性更改事件。 | |
UIA_Invoke_InvokedEventId | 如果控件支持 Invoke 控件模式,则必须支持此事件。 |
UIA_IsEnabledPropertyId 属性更改事件。 | 如果控件支持 IsEnabled 属性,它必须支持此事件。 |
UIA_IsOffscreenPropertyId 属性更改事件。 | 如果控件支持 IsOffscreen 属性,则必须支持此事件。 |
UIA_ItemStatusPropertyId 属性更改事件。 | 如果控件支持 ItemStatus 属性,它必须支持此事件。 |
UIA_MultipleViewCurrentViewPropertyId 属性更改事件。 | 如果控件支持 MultipleView 控件模式,则它必须支持此事件。 |
UIA_NamePropertyId 属性更改事件。 | |
UIA_SelectionItem_ElementAddedToSelectionEventId | 如果控件支持 SelectionItem 控件模式,则必须支持此事件。 |
UIA_SelectionItem_ElementRemovedFromSelectionEventId | 如果控件支持 SelectionItem 控件模式,则必须支持此事件。 |
UIA_SelectionItem_ElementSelectedEventId | 如果控件支持 SelectionItem 控件模式,则必须支持此事件。 |
UIA_StructureChangedEventId | |
UIA_ToggleToggleStatePropertyId 属性更改事件。 | 如果控件支持 切换 控件模式,则它必须支持此事件。 |
UIA_ValueValuePropertyId 属性更改事件。 | 如果控件支持 Value 控件模式,则它必须支持此事件。 |
备注
如果树项具有子大纲节点以外的子元素,则提供程序必须仔细而清楚地处理子对象信息。 在 UI 自动化 中,树结构由树层次结构本身处理。 通过具有一个或多个非大纲节点子节点,它们与实际子大纲节点之间的差异将变得严重不明确。
相关主题
-
概念性