UI 自动化对 Tree 控件类型的支持

更新:2007 年 11 月

本主题介绍 UI 自动化对 Tree 控件类型的支持。在 UI 自动化中,控件类型是一组条件,控件必须满足这些条件才能使用 ControlTypeProperty 属性。这些条件包括 UI 自动化树结构的特定准则、UI 自动化属性值和控件模式。

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

以下几节定义了 Tree 控件类型必需的 UI 自动化树结构、属性、控件模式和事件。UI 自动化的要求适用于所有树控件,无论控件是 Windows Presentation Foundation (WPF)、Win32 还是 Windows 窗体。

本主题包括下列各节。

  • 必需的 UI 自动化树结构
  • 必需的 UI 自动化属性
  • 必需的 UI 自动化控件模式
  • 必需的 UI 自动化事件
  • 相关主题

必需的 UI 自动化树结构

下表描述了与树控件有关的 UI 自动化树的控件视图和内容视图,以及每个视图中可包含的内容。有关 UI 自动化树的更多信息,请参见 UI 自动化树概述

控件视图

内容视图

  • Tree

    • 数据项(0 个或更多)

    • 树项(0 个或多个)

    • 滚动条(0 个、1 个或 2 个)

  • Tree

    • 数据项(0 个或更多)

    • 树项(0 个或多个)

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

  • 容器中的零个或多个项(这些项可以基于 Tree Item 或 Data Item 控件类型)。

  • 0 个、1 个或 2 个滚动条。

UI 自动化树的内容视图由容器中的 0 个或多个项构成(这些项可以基于 Tree Item 或 Data Item 控件类型)。

必需的 UI 自动化属性

下表列出了值或定义与列表控件密切相关的 UI 自动化属性。有关 UI 自动化属性的更多信息,请参见客户端的 UI 自动化属性

UI 自动化属性

说明

AutomationIdProperty()

请参见“说明”。

此属性的值必须在应用程序中的所有控件中保持唯一。

BoundingRectangleProperty

请参见“说明”。

包含整个控件的最外面的矩形。

ClickablePointProperty

请参见“说明”。

树控件具有将导致在树或树容器中的一项上设置焦点的可单击点。仅当在单击不会导致一项被选中/获得焦点的某处时,才会得到树的可单击点。

ControlTypeProperty

Tree

此值对于所有的 UI 框架均相同。

IsContentElementProperty

True

树控件始终包括在 UI 自动化树的控件视图中。

IsControlElementProperty

True

树控件始终包括在 UI 自动化树的控件视图中。

IsKeyboardFocusableProperty

请参见“说明”。

如果该控件可以接收键盘焦点,则它必须支持此属性。

LabeledByProperty

请参见“说明”。

如果树控件有与其关联的标签,此属性将为该标签返回 AutomationElement。否则,此属性将返回空引用(在 Microsoft Visual Basic .NET 中为 Nothing)。

LocalizedControlTypeProperty

“树”

与 List 控件类型相对应的本地化字符串。

NameProperty

请参见“说明”。

树控件的名称属性值通常来自标记该控件的文本。如果没有文本标签,则应用程序开发人员必须为该属性提供一个值。

必需的 UI 自动化控件模式

下表列出了必须由列表控件支持的 UI 自动化控件模式。有关控件模式的更多信息,请参见 UI 自动化控件模式概述

控件模式/模式属性

支持/值

说明

ISelectionProvider

视情况而定

包含一组可以选择的项的树控件必须实现此控件模式。如果选择项不会向用户传达有意义的信息,则不必实现此控件模式。

CanSelectMultiple

请参见“说明”。

如果该树控件支持多重选择(大多数树控件不支持多重选择),则实现此属性。

IsSelectionRequired

请参见“说明”。

如果该控件要求选择项,则公开此属性的值。

IScrollProvider

视情况而定

如果可以滚动树容器的内容,则实现此控件模式。

必需的 UI 自动化事件

下表列出了必须由所有树控件支持的 UI 自动化事件。有关事件的更多信息,请参见 UI 自动化事件概述

UI 自动化事件

支持

说明

InvalidatedEvent

视情况而定

BoundingRectangleProperty property-changed 事件。

必需

IsOffscreenProperty property-changed 事件。

必需

IsEnabledProperty property-changed 事件。

必需

HorizontallyScrollableProperty property-changed 事件。

视情况而定

HorizontalScrollPercentProperty property-changed 事件。

视情况而定

HorizontalViewSizeProperty property-changed 事件。

视情况而定

VerticalScrollPercentProperty property-changed 事件。

视情况而定

VerticallyScrollableProperty property-changed 事件。

视情况而定

VerticalViewSizeProperty property-changed 事件。

视情况而定

AutomationFocusChangedEvent

必需

StructureChangedEvent

必需

请参见

概念

UI 自动化控件类型概述

UI 自动化概述

参考

Tree