![]() |
---|
本文档的目标读者是欲使用 System.Windows.Automation 命名空间中定义的托管 UI Automation类的 .NET Framework 开发人员。有关 UI Automation的最新信息,请参见 Windows Automation API: UI Automation(Windows 自动化 API:UI 自动化)。 |
本主题介绍 UI Automation对 Button 控件类型的支持。 在 UI Automation中,控件类型是一组条件,控件必须满足这些条件才能使用 ControlTypeProperty 属性。 这些条件包括 UI Automation树结构的特定准则、UI Automation属性值、控件模式和 UI Automation事件。
按钮是一个对象,用户为了执行对话框上的操作(如按**“确定”和“取消”**按钮)而与该对象交互。 按钮控件是要公开的简单控件,因为它映射到用户希望完成的单个命令。
以下几节定义了 Button 控件类型必需的 UI Automation树结构、属性、控件模式和事件。 UI Automation的要求适用于所有按钮控件,无论控件是 Windows Presentation Foundation (WPF)、Win32 还是 Windows Forms。
本主题包括下列各节。
- 必需的 UI 自动化树结构
- 必需的 UI 自动化属性
- 必需的 UI 自动化控件模式
- 必需的 UI 自动化事件
- 相关主题
必需的 UI 自动化树结构
下表描述了与按钮控件有关的 UI Automation树的控件视图和内容视图,以及每个视图中可包含的内容。 有关 UI Automation树的更多信息,请参见 UI 自动化树概述。
控件视图 |
内容视图 |
---|---|
Button
|
Button |
必需的 UI 自动化属性
下表列出了值或定义与用来实现 Button 控件类型(如按钮控件)的控件密切相关的 UI Automation属性。 有关 UI Automation 属性的更多信息,请参见 客户端的 UI 自动化属性。
UI Automation属性 |
值 |
注释 |
---|---|---|
请参见“说明”。 |
Button 控件通常必须支持快捷键,才能允许最终用户使用键盘快速执行快捷键所代表的操作。 |
|
请参见“说明”。 |
此属性的值在应用程序的所有控件中都必须保持唯一。 |
|
请参见“说明”。 |
包含整个控件的最外面的矩形。 |
|
请参见“说明”。 |
有边框时支持。 如果边框中并非每个点都是可单击的,那么,在执行专用的命中测试时,请重写并提供一个可单击的点。 |
|
Button |
此值对于所有的 UI 框架均相同。 |
|
请参见“说明”。 |
帮助文本可以指示激活按钮的最终结果。 这通常与通过工具提示显示的信息是同一类型。 |
|
True |
Button 控件必须总是为内容。 |
|
True |
Button 控件必须总是为控件。 |
|
请参见“说明”。 |
如果该控件可以接收键盘焦点,则它必须支持此属性。 |
|
Null |
Button 控件按其内容自行进行标记。 |
|
“按钮” |
与 Button 控件类型相对应的本地化字符串。 |
|
请参见“说明”。 |
按钮控件的名称是用来对控件进行标记的文本。 每当使用图像来对按钮进行标记时,都必须为按钮的 Name 属性提供备用文本。 |
必需的 UI 自动化控件模式
下表列出了必须由所有的按钮控件支持的 UI Automation控件模式。 有关控件模式的更多信息,请参见 UI 自动化控件模式概述。
控件模式 |
支持 |
注释 |
---|---|---|
请参见“说明”。 |
所有的按钮都应支持 Invoke 控件模式或 Toggle 控件模式。 如果按钮根据用户的请求执行命令,则支持 Invoke。 此命令映射到单个操作(如剪切、复制、粘贴或删除)。 |
|
请参见“说明”。 |
所有的按钮都应支持 Invoke 控件模式或 Toggle 控件模式。 如果按钮可以在一系列(最多三个)状态之间循环,则支持 Toggle。 这通常被视为特定功能的“开/关”开关。 |
|
请参见“说明”。 |
在将按钮承载为拆分按钮的子级时,该子按钮可支持 ExpandCollapse 模式(而非 Invoke 或 Toggle 模式)。 ExpandCollapse 模式可用于打开或关闭菜单或与该按钮元素关联的其他子结构。 |
必需的 UI 自动化事件
下表列出了必须由所有的按钮控件支持的 UI Automation事件。 有关事件的更多信息,请参见 UI 自动化事件概述。
UI Automation事件 |
支持 |
注释 |
---|---|---|
必需 |
无 |
|
BoundingRectangleProperty property-changed 事件。 |
必需 |
无 |
IsOffscreenProperty property-changed 事件。 |
必需 |
无 |
IsEnabledProperty property-changed 事件。 |
必需 |
无 |
NameProperty property-changed 事件。 |
必需 |
无 |
必需 |
无 |
|
视情况而定 |
如果控件支持 Invoke 控件模式,则它必须支持此事件。 |
|
ToggleStateProperty property-changed 事件。 |
视情况而定 |
如果控件支持 Toggle 控件模式,则它必须支持此事件。 |