树控件类型

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

控件类型用于其内容与节点层次结构相关的容器,就像文件和文件夹在 Windows 资源管理器的左窗格中的显示方式一样。 每个节点都有可能包含其他节点,称为子节点。 以按展开或折叠的方式显示父节点或包含子节点的节点。 由 WC_TREEVIEW) 标识的 Windows 树视图 控件 (是 属于 控件类型的控件的示例。

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

本主题包含以下各节:

典型树结构

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

控件视图 内容视图
    • DataItem(0 个或多个)
    • TreeItem(0 个或多个)
      • TreeItem(0 个或多个)
        • ...
    • ScrollBar(0 个、1 个、2 个)
    • DataItem(0 个或多个)
    • TreeItem(0 个或多个)
      • TreeItem(0 个或多个)
        • ...

 

UI 自动化树的控件视图包含:

  • 容器 (项中的零个项可以基于 TreeItemDataItem 控件类型) 。
  • 零个、一个或两个滚动条控件

UI 自动化树的内容视图由容器中的零个或多个项组成, (项可以基于 TreeItemDataItem 控件类型) 。

相关属性

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

UI 自动化属性 说明
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId 请参阅注释。 树控件具有一个可单击点,该点会导致树或树容器中的某个项接收焦点。 仅当可以单击树中的某个位置而不导致选择项或接收焦点时,树控件才能具有可单击点。
UIA_ControlTypePropertyId 此值对于所有 UI 框架均相同。
UIA_IsContentElementPropertyId TRUE tree 控件始终包含在 UI 自动化树的内容视图中。
UIA_IsControlElementPropertyId TRUE tree 控件始终包含在 UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅注释。 如果该控件可以接收键盘焦点,则它必须支持此属性。
UIA_LabeledByPropertyId 请参阅注释。 如果树控件具有与之关联的标签,则此属性将返回该标签的 IUIAutomationElement 指针。 否则, 属性将返回 null 引用。
UIA_LocalizedControlTypePropertyId 请参阅注释。 对应于 控件类型的本地化字符串。 en-US 或英语 (美国) 的默认值为“tree”。
UIA_NamePropertyId 请参阅注释。 树控件的名称属性的值通常来自对该控件进行标记的文本。 如果没有文本标签,则必须为此属性提供值。

 

所需的控件模式

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

控件模式/模式属性 支持/值 注释
IScrollProvider 依赖的对象 如果树容器中的项可以滚动,则实现 Scroll 控件模式。
ISelectionProvider 依赖的对象 包含一组可选项的树控件必须实现 选择 控件模式。 如果选择项未向用户传达任何有意义的信息,则无需实现它。
CanSelectMultiple 请参阅注释。 如果树控件支持多重选择(大多数树控件不支持多重选择),则实现此属性。
IsSelectionRequired 请参阅注释。 如果该控件要求要选择一项,则公开此属性的值。

 

必需事件

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

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 如果控件支持 Selection 控件模式,则它必须支持此事件。
UIA_StructureChangedEventId

 

概念性

UI 自动化控件类型概述

UI 自动化概述