按钮控件类型

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

按钮是用户与之交互来执行某些操作一个对象,如对话框上的“确定”和“取消”按钮。 按钮控件是一个用于公开的简单控件,因为它映射到用户想要完成的单个命令。

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

本主题包含以下各节:

典型树结构

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

控件视图 内容视图
  • Button
    • Image(0 个或多个)
    • Text(0 个或多个)
  • Button

 

相关属性

下表列出了UI 自动化属性,这些属性的值或定义与实现 Button 控件类型 ((如按钮控件) )特别相关。 有关UI 自动化属性的详细信息,请参阅从UI 自动化元素检索属性

UI 自动化属性 说明
UIA_AcceleratorKeyPropertyId 请参阅注释。 按钮控件通常支持加速键,使最终用户能够从键盘快速执行由按钮表示的操作。
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId 请参阅注释。 如果存在边界矩形,则受支持。 如果边界矩形中的每个点都不可单击,并且元素执行专门的命中测试,请重写并提供一个可单击的点。
UIA_ControlTypePropertyId Button
UIA_HelpTextPropertyId 请参阅注释。 帮助文本应指示激活按钮的最终结果。 这通常与通过工具提示显示的信息类型相同。
UIA_IsContentElementPropertyId TRUE 按钮控件必须始终是内容。
UIA_IsControlElementPropertyId TRUE 按钮控件必须始终是控件。
UIA_IsKeyboardFocusablePropertyId 请参阅注释。 如果该控件可以接收键盘焦点,则它必须支持此属性。
UIA_LabeledByPropertyId Null Button 控件按其内容进行自标记。
UIA_LocalizedControlTypePropertyId 请参阅注释。 对应于 Button 控件类型的本地化字符串。 en-US 或英语 (美国) 的默认值为“button”。
UIA_NamePropertyId 请参阅注释。 按钮控件的名称是用于标记它的文本。 每当使用图像来标记按钮时,都必须为按钮的 Name 属性提供备用文本。

 

所需的控件模式

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

控件模式/模式属性 支持/值 注释
IExpandCollapseProvider 请参阅注释。 当按钮作为拆分按钮的子级托管时,子按钮可以支持 ExpandCollapse 控件模式,而不是 InvokeToggle 控件模式。 ExpandCollapse 控件模式可用于打开或关闭菜单或与按钮元素关联的其他子结构。
IInvokeProvider 请参阅注释。 所有按钮都应支持 Invoke 控件模式或 切换 控件模式,但不能同时支持这两者。 当按钮在用户的请求下执行命令时,必须支持 Invoke 控件模式。 此命令将映射到单个操作,例如剪切、复制、粘贴或删除。
IToggleProvider 请参阅注释。 所有按钮都应支持 Invoke 控件模式或 切换 控件模式,但不能同时支持这两者。 如果按钮可以循环运行一系列最多三种状态,则必须支持切换控件模式。 这通常被视为特定功能的打开/关闭开关。

 

必需事件

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

UI 自动化事件 说明
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_Invoke_InvokedEventId 如果控件支持 Invoke 控件模式,则必须支持此事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,它必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_NamePropertyId 属性更改事件。
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId 属性更改事件。 如果控件支持 切换 控件模式,则它必须支持此事件。

 

概念性

UI 自动化控件类型概述

UI 自动化概述