树控件类型
本主题提供有关 Microsoft UI 自动化对 树 控件类型的支持的信息。
树 控件类型用于其内容与节点层次结构具有相关性的容器,就像文件和文件夹显示在 Windows 资源管理器的左窗格中一样。 每个节点都有潜力包含其他节点,称为子节点。 父节点或包含子节点的节点可以显示为展开或折叠。 Windows 树视图控件(由 WC_TREEVIEW标识)是属于 树 控件类型的控件的示例。
以下各节定义 树 控件类型所需的 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成 UI 自动化对控件类型和控件模式的支持的所有树项控件。
本主题包含以下部分。
典型树结构
下表描述了与树控件相关的 UI 自动化树的典型控件和内容视图,并描述了每个视图中可包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
|
|
UI 自动化树的控件视图包括:
UI 自动化树的内容视图由容器中的零个或多个项组成(项可以基于 TreeItem 或 DataItem 控件类型)。
相关属性
下表列出了其值或定义与 树 控件类型特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅 从 UI 自动化元素检索属性。
UI 自动化属性 | 价值 | 笔记 |
---|---|---|
UIA_AutomationIdPropertyId | 请参阅备注。 | 此属性的值在 UI 自动化树的原始视图中的所有对等元素中必须是唯一的。 |
UIA_BoundingRectanglePropertyId | 请参阅备注。 | 包含整个控件的最外侧矩形。 |
UIA_ClickablePointPropertyId | 请参阅备注。 | 树控件具有可单击点,导致树容器中的树或项之一接收焦点。 仅当树控件可能单击树中的某个位置而不导致选择某个项或接收焦点时,树控件才能具有可单击点。 |
UIA_ControlTypePropertyId | 树 | 对于所有 UI 框架,此值相同。 |
UIA_IsContentElementPropertyId | 真 | 树控件始终包含在 UI 自动化树的内容视图中。 |
UIA_IsControlElementPropertyId | 真 | 树控件始终包含在 UI 自动化树的控件视图中。 |
UIA_IsKeyboardFocusablePropertyId | 请参阅备注。 | 如果控件可以接收键盘焦点,它必须支持此属性。 |
UIA_LabeledByPropertyId | 请参阅备注。 | 如果树控件具有与之关联的标签,则此属性返回该标签的 IUIAutomationElement 指针。 否则,该属性将返回 null 引用。 |
UIA_LocalizedControlTypePropertyId | 请参阅备注。 | 对应于 树 控件类型的本地化字符串。 默认值为 en-US 或英语(美国)的“树”。 |
UIA_NamePropertyId | 请参阅备注。 | 树控件的名称属性的值通常来自标记控件的文本。 如果没有文本标签,则必须提供此属性的值。 |
所需的控件模式
下表列出了所有树控件支持所需的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI 自动化控件模式概述。
控件模式/模式属性 | 支持/值 | 笔记 |
---|---|---|
IScrollProvider | 取决于 | 如果树容器中的项可以滚动,则实现 滚动 控件模式。 |
ISelectionProvider | 取决于 | 包含一组可选项的树控件必须实现 选择 控件模式。 如果选择某个项不会向用户传达有意义的信息,则无需实现它。 |
CanSelectMultiple | 请参阅备注。 | 如果树控件支持多个选择,则实现此属性(大多数树控件不支持多个选择)。 |
IsSelectionRequired | 请参阅备注。 | 如果控件要求选择项,则会公开此属性的值。 |
必需事件
下表列出了所有树控件必须支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述。
UI 自动化事件 | 笔记 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 属性更改事件。 | |
UIA_IsEnabledPropertyId 属性更改事件。 | 如果控件支持 IsEnabled 属性,则必须支持此事件。 |
UIA_IsOffscreenPropertyId 属性更改事件。 | 如果控件支持 IsOffscreen 属性,则必须支持此事件。 |
UIA_ScrollHorizontallyScrollablePropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollHorizontalScrollPercentPropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollHorizontalViewSizePropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollVerticalScrollPercentPropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollVerticallyScrollablePropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollVerticalViewSizePropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_Selection_InvalidatedEventId | 如果控件支持 选择 控件模式,则必须支持此事件。 |
UIA_StructureChangedEventId |
相关主题