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

更新:2007 年 11 月

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

按钮是一个对象,用户为了执行对话框上的操作(如按“确定”和“取消”按钮)而与该对象交互。按钮控件是要公开的简单控件,因为它映射到用户希望完成的单个命令。

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

本主题包括下列各节。

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

必需的 UI 自动化树结构

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

控件视图

内容视图

  • Button

  • 图像(0 个或多个)

  • 文本(0 个或多个)

  • Button

必需的 UI 自动化属性

下表列出了值或定义与用来实现 Button 控件类型(如按钮控件)的控件密切相关的 UI 自动化属性。有关 UI 自动化属性的更多信息,请参见客户端的 UI 自动化属性

UI 自动化属性

说明

AcceleratorKeyProperty

请参见“说明”。

Button 控件通常必须支持快捷键,才能允许最终用户使用键盘快速执行快捷键所代表的操作。

AutomationIdProperty()

请参见“说明”。

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

BoundingRectangleProperty

请参见“说明”。

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

ClickablePointProperty

请参见“说明”。

有边框时支持。如果边框中并非每个点都是可单击的,那么,在执行专用的命中测试时,请重写并提供一个可单击的点。

ControlTypeProperty

Button

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

HelpTextProperty

请参见“说明”。

帮助文本应当指示按钮被激活后的最终结果。这些信息必须通过工具提示来公开。

IsContentElementProperty

True

Button 控件必须总是为内容。

IsControlElementProperty

True

Button 控件必须总是为控件。

IsKeyboardFocusableProperty

请参见“说明”。

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

LabeledByProperty

Null

Button 控件按其内容自行进行标记。

LocalizedControlTypeProperty

“按钮”

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

NameProperty

请参见“说明”。

按钮控件的名称是用来对控件进行标记的文本。每当使用图像来对按钮进行标记时,都必须为按钮的 Name 属性提供备用文本。

必需的 UI 自动化控件模式

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

控件模式/模式属性

支持/值

说明

IInvokeProvider

请参见“说明”。

所有的按钮都必须支持 Invoke 控件模式或 Toggle 控件模式。如果按钮根据用户的请求执行命令,则支持 Invoke。此命令映射到单个操作(如剪切、复制、粘贴或删除)。

IToggleProvider

请参见“说明”。

所有的按钮都必须支持 Invoke 控件模式或 Toggle 控件模式。如果按钮可以在一系列(最多三个)状态之间循环,则支持 Toggle。这通常被视为特定功能的“开/关”开关。

必需的 UI 自动化事件

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

UI 自动化事件

支持

说明

AutomationFocusChangedEvent

必需

BoundingRectangleProperty property-changed 事件。

必需

IsOffscreenProperty property-changed 事件。

必需

IsEnabledProperty property-changed 事件。

必需

NameProperty property-changed 事件。

必需

StructureChangedEvent

必需

InvokedEvent

视情况而定

如果控件支持 Invoke 控件模式,则它必须支持此事件。

ToggleStateProperty property-changed 事件。

视情况而定

如果控件支持 Toggle 控件模式,则它必须支持此事件。

请参见

概念

UI 自动化控件类型概述

UI 自动化概述

参考

Button