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

注意注意

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

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

工具提示控件是包含文本的弹出窗口。

以下几节定义了 ToolTip 控件类型所需的 UI Automation树结构、属性、控件模式和事件。 UI Automation要求适用于所有工具提示控件,包括 Windows Presentation Foundation (WPF)、Win32 和 Windows Forms。

本主题包括下列各节。

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

必需的 UI 自动化树结构

下表描述了与工具提示控件有关的 UI Automation树的控件视图和内容视图,并介绍了每个视图中可包含的内容。 有关 UI Automation树的更多信息,请参见 UI 自动化树概述

控件视图

内容视图

ToolTip

  • Text(0 个或多个)

  • Image(0 个或多个)

ToolTip

如果工具提示控件可以接收键盘焦点,则它们仅显示在 UI Automation树的内容视图中。 否则,可以从工具提示所指的 UI Automation元素上的 HelpTextProperty 中获得工具提示的所有信息。

工具提示应当出现在其信息所指的控件下方。 客户端必须侦听 ToolTipOpenedEvent,从而确保以一致的方式获取工具提示中包含的信息。

必需的 UI 自动化属性

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

UI Automation属性

注释

AutomationIdProperty

请参见“说明”。

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

BoundingRectangleProperty

请参见“说明”。

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

ClickablePointProperty

请参见“说明”。

可点击的点应该是工具提示中将关闭此控件的一部分。 有些工具提示不具有此功能,因此将没有可点击的点。

IsKeyboardFocusableProperty

请参见“说明”。

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

NameProperty

请参见“说明”。

工具提示控件的名称是显示在工具提示内的文本。

LabeledByProperty

Null

工具提示控件始终按其内容自行设置标签。

ControlTypeProperty

ToolTip

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

LocalizedControlTypeProperty

"工具提示"

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

IsContentElementProperty

视情况而定

如果工具提示控件可以接收键盘焦点,则它必须在树的内容视图中。 如果它仅仅是文本,则它的表现形式为产生它的控件的 HelpTextProperty。

IsControlElementProperty

True

工具提示控件必须总是一个控件。

必需的 UI 自动化控件模式

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

控件模式

支持

注释

IWindowProvider

视情况而定

可以通过单击 UI 项来关闭的工具提示必须支持 WindowPattern,这样它们才能自动关闭。

ITextProvider

视情况而定

为了提供更好的辅助功能,工具提示控件可支持 Text 控件模式,尽管这不是必需的。 当文本具有丰富的样式和特性(例如,颜色、粗体和斜体)时,Text 控件模式非常有用。

必需的 UI 自动化事件

当工具提示控件出现在屏幕上时,必须引发 ToolTipOpenedEvent。 该事件将包括对工具提示自身的 UI Automation元素的引用。

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

UI Automation事件

支持

注释

TextSelectionChangedEvent

视情况而定

TextChangedEvent

视情况而定

WindowClosedEvent

视情况而定

WindowOpenedEvent

视情况而定

ToolTipOpenedEvent

必需

ToolTipClosedEvent

必需

BoundingRectangleProperty property-changed 事件。

必需

IsOffscreenProperty property-changed 事件。

必需

IsEnabledProperty property-changed 事件。

必需

NameProperty property-changed 事件。

必需

WindowVisualStateProperty property-changed 事件。

视情况而定

AutomationFocusChangedEvent

必需

StructureChangedEvent

必需

请参见

参考

ToolTip

概念

UI 自动化控件类型概述

UI 自动化概述