更新: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 自动化树概述。
控件视图 |
内容视图 |
---|---|
|
|
必需的 UI 自动化属性
下表列出了值或定义与用来实现 Button 控件类型(如按钮控件)的控件密切相关的 UI 自动化属性。有关 UI 自动化属性的更多信息,请参见客户端的 UI 自动化属性。
UI 自动化属性 |
值 |
说明 |
---|---|---|
请参见“说明”。 |
Button 控件通常必须支持快捷键,才能允许最终用户使用键盘快速执行快捷键所代表的操作。 |
|
AutomationIdProperty() |
请参见“说明”。 |
此属性的值必须在应用程序中的所有控件中保持唯一。 |
请参见“说明”。 |
包含整个控件的最外面的矩形。 |
|
请参见“说明”。 |
有边框时支持。如果边框中并非每个点都是可单击的,那么,在执行专用的命中测试时,请重写并提供一个可单击的点。 |
|
Button |
此值对于所有的 UI 框架均相同。 |
|
请参见“说明”。 |
帮助文本应当指示按钮被激活后的最终结果。这些信息必须通过工具提示来公开。 |
|
True |
Button 控件必须总是为内容。 |
|
True |
Button 控件必须总是为控件。 |
|
请参见“说明”。 |
如果该控件可以接收键盘焦点,则它必须支持此属性。 |
|
Null |
Button 控件按其内容自行进行标记。 |
|
“按钮” |
与 Button 控件类型相对应的本地化字符串。 |
|
请参见“说明”。 |
按钮控件的名称是用来对控件进行标记的文本。每当使用图像来对按钮进行标记时,都必须为按钮的 Name 属性提供备用文本。 |
必需的 UI 自动化控件模式
下表列出了必须由所有的按钮控件支持的 UI 自动化控件模式。有关控件模式的更多信息,请参见 UI 自动化控件模式概述。
控件模式/模式属性 |
支持/值 |
说明 |
---|---|---|
请参见“说明”。 |
所有的按钮都必须支持 Invoke 控件模式或 Toggle 控件模式。如果按钮根据用户的请求执行命令,则支持 Invoke。此命令映射到单个操作(如剪切、复制、粘贴或删除)。 |
|
请参见“说明”。 |
所有的按钮都必须支持 Invoke 控件模式或 Toggle 控件模式。如果按钮可以在一系列(最多三个)状态之间循环,则支持 Toggle。这通常被视为特定功能的“开/关”开关。 |
必需的 UI 自动化事件
下表列出了必须由所有的按钮控件支持的 UI 自动化事件。有关事件的更多信息,请参见 UI 自动化事件概述。
UI 自动化事件 |
支持 |
说明 |
---|---|---|
必需 |
无 |
|
BoundingRectangleProperty property-changed 事件。 |
必需 |
无 |
IsOffscreenProperty property-changed 事件。 |
必需 |
无 |
IsEnabledProperty property-changed 事件。 |
必需 |
无 |
NameProperty property-changed 事件。 |
必需 |
无 |
必需 |
无 |
|
视情况而定 |
如果控件支持 Invoke 控件模式,则它必须支持此事件。 |
|
ToggleStateProperty property-changed 事件。 |
视情况而定 |
如果控件支持 Toggle 控件模式,则它必须支持此事件。 |