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

注意注意

本文档的目标读者是欲使用 System.Windows.Automation 命名空间中定义的托管 UI Automation类的 .NET Framework 开发人员。有关 UI Automation的最新信息,请参见 Windows Automation API: UI Automation(Windows 自动化 API:UI 自动化)。

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

TreeItem 控件类型表示树容器中的一个节点。 每个节点可以包含其他节点(称为“子节点”)。 您可以按展开或折叠的方式显示父节点(即包含子节点的节点)。

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

本主题包括下列各节。

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

必需的 UI 自动化树结构

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

控件视图

内容视图

TreeItem

  • CheckBox(0 个或 1 个)

  • Image(0 个或 1 个)

  • Button(0 个或 1 个)

  • TreeItem(0 个或多个)

TreeItem

  • TreeItem(0 个或多个)

在 UI Automation树的内容视图中,树项控件可以有零个或多个子树项。 如果树项控件具有下面列出的控件模式中所公开内容以外的功能,则说明该控件应当基于 Data Item 控件类型。

折叠的树项将不会显示在控件视图或内容视图中,直到它们被展开且变为可见(即,可以滚入视图)。

控件视图可以包含控件的其他详细信息,包括关联的图像或按钮。 例如,大纲视图中的项可以包含图像以及用于展开或折叠大纲的按钮。 这些详细信息对象不会出现在内容视图中,因为父级树项已显示此类信息。 已滚出屏幕的树项将同时出现在 UI Automation树的控件视图和内容视图中,其 IsOffscreenProperty 应当设置为 true。

必需的 UI 自动化属性

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

UI Automation属性

注释

AutomationIdProperty

请参见“说明”。

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

BoundingRectangleProperty

请参见“说明”。

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

ClickablePointProperty

请参见“说明”。

此属性必须返回该项的位置,才能使该项更改选择状态或获得焦点。

ControlTypeProperty

TreeItem

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

IsContentElementProperty

True

列表控件始终包括在 UI Automation树的内容视图中。

IsControlElementProperty

True

列表控件始终包括在 UI Automation树的控件视图中。

IsOffscreenProperty

请参见“说明”。

此属性设置为指示树项控件何时滚出屏幕。

IsKeyboardFocusableProperty

请参见“说明”。

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

ItemTypeProperty

请参见“说明”。

如果树项控件使用可视化图标来指示这是一个特定类型的对象,则必须支持该属性,而且该属性必须指示此对象的含义。

LabeledByProperty

Null

树项控件自行进行标记。

LocalizedControlTypeProperty

"树项"

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

NameProperty

请参见“说明”。

此属性公开针对每个树项控件显示的文本。

必需的 UI 自动化控件模式

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

控件模式/模式属性

支持/值

注释

IInvokeProvider

视情况而定

如果树项有一个单独的可操作命令,则实现此控件模式。

IExpandCollapseProvider

所有的树项都可以展开或折叠。

ExpandCollapseState

Expanded、Collapsed 或 Leaf Node

当树项无法展开或折叠时,它们将是叶节点。

IScrollItemProvider

视情况而定

如果树容器支持 Scroll 控件模式,则实现此控件模式。

ISelectionItemProvider

视情况而定

如果在用户返回到树容器时,可以保持处于活动状态的选项,则实现此控件模式。

SelectionContainer

此属性将针对容器内的所有项公开同一个容器。

IToggleProvider

视情况而定

如果树项具有关联的复选框,则实现此控件模式。

必需的 UI 自动化事件

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

UI Automation事件

支持

注释

AutomationFocusChangedEvent

必需

BoundingRectangleProperty property-changed 事件。

必需

IsEnabledProperty property-changed 事件。

必需

IsOffscreenProperty property-changed 事件。

必需

ItemStatusProperty property-changed 事件。

视情况而定

NameProperty property-changed 事件。

必需

StructureChangedEvent

必需

ExpandCollapseStateProperty property-changed 事件。

必需

InvokedEvent

视情况而定

CurrentViewProperty property-changed 事件。

视情况而定

ElementAddedToSelectionEvent

视情况而定

ElementRemovedFromSelectionEvent

视情况而定

ElementSelectedEvent

视情况而定

ToggleStateProperty property-changed 事件。

视情况而定

ValueProperty property-changed 事件。

视情况而定

请参见

参考

TreeItem

概念

UI 自动化控件类型概述

UI 自动化概述