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

备注

本文档适用于想要使用 System.Windows.Automation 命名空间中定义的托管 UI 自动化类的 .NET Framework 开发人员。 有关 UI 自动化的最新信息,请参阅 Windows 自动化 API:UI 自动化

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

拆分按钮控件能够对控件执行操作并展开该控件以查看可执行其他可能操作的列表。

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

必需的 UI 自动化树结构

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

控件视图 内容视图
SplitButton

  • Image(0 个或 1 个)
  • Text(0 个或 1 个)
  • Button(1 个或 2 个)

    • Menu(0 个或 1 个;显示为支持 ExpandCollapse 模式的按钮的子级)
    • MenuItem(1 到多个)
SplitButton

- MenuItem(1 到多个)

必需的 UI 自动化属性

下表列出了其值或定义与拆分按钮控件特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅客户端的 UI 自动化属性

UI 自动化属性 说明
AutomationIdProperty 请参阅注释。 此属性的值在应用程序的所有控件中都必须保持唯一。
BoundingRectangleProperty 请参阅注释。 包含整个控件的最外层矩形。
ClickablePointProperty 请参阅注释。 如果存在边界矩形,则受支持。 如果边界矩形中存在无法单击的点,而你要执行专门的命中测试,则重写并提供可单击的点。
IsKeyboardFocusableProperty 请参阅注释。 如果该控件可以接收键盘焦点,则它必须支持此属性。
NameProperty “返回” 拆分按钮控件的名称将显示在按钮上。
LabeledByProperty Null 拆分按钮控件不具有静态文本标签。
ControlTypeProperty SplitButton 此值对于所有 UI 框架均相同。
LocalizedControlTypeProperty “拆分按钮” 与 SplitButton 控件类型相对应的本地化字符串。
HelpTextProperty 请参阅注释。 帮助文本可以指示激活拆分按钮的结果,这通常是通过工具提示显示的具有相同类型的信息。
IsContentElementProperty 正确 拆分按钮控件包含最终用户的信息。
IsControlElementProperty 正确 拆分按钮控件对最终用户是可见的。

必需的 UI 自动化控件模式

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

控件模式 支持 说明
IInvokeProvider 必须 拆分的按钮始终具有与调用关联的默认操作。
IExpandCollapseProvider 必需 拆分按钮始终具有展开选项列表的能力。

必需的 UI 自动化事件

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

UI 自动化事件 支持 说明
InvokedEvent 必须
BoundingRectangleProperty 属性更改事件。 必需
IsOffscreenProperty 属性更改事件。 必需
IsEnabledProperty 属性更改事件。 必需
ExpandCollapseStateProperty 属性更改事件。 必需
AutomationFocusChangedEvent 必须
StructureChangedEvent 必须

SplitButton 控件示例

下图说明了数据网格控件中的 SplitButton 控件类型。

Split button

与数据网格控件和拆分按钮控件相关的 UI 自动化树的控件视图和内容视图如下所示。 每个自动化元素的控件模式均显示在括号中。

UI 自动化树 - 控件视图 UI 自动化树 - 内容视图
  • SplitButton“名称”(Invoke、ExpandCollapse)
  • 按钮“更多选项”(Invoke)

    • 菜单
    • MenuItem
  • SplitButton“名称”(Invoke、ExpandCollapse)
  • 按钮“更多选项”(Invoke)

    • 菜单
    • MenuItem

请参阅