SplitButton 控件类型

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

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

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

本主题包含以下各节:

典型树结构

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

控件视图 内容视图
  • SplitButton
    • Image(0 个或 1 个)
    • Text(0 个或 1 个)
    • Button(1 个或 2 个)
      • 菜单 (0 或 1;显示为支持 ExpandCollapse 模式的子按钮的子按钮)
        • MenuItem(1 到多个)
  • SplitButton
    • Button(1 个或 2 个)
      • MenuItem(1 到多个)

 

相关属性

下表列出了值或定义与 SplitButton 控件类型特别相关的UI 自动化属性。 有关UI 自动化属性的详细信息,请参阅从 UI 自动化 元素检索属性

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

 

所需的控件模式

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

控件模式 支持 说明
IExpandCollapseProvider 必须 由于拆分按钮始终能够展开选项列表,因此它们必须支持 ExpandCollapse 控件模式。
IInvokeProvider 必须 由于拆分按钮始终具有与 IInvokeProvider::Invoke 方法关联的默认操作,因此它们必须支持 Invoke 控件模式。

 

必需事件

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

UI 自动化事件 说明
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_ExpandCollapseExpandCollapseStatePropertyId 属性更改事件。
UIA_Invoke_InvokedEventId
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,则必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_StructureChangedEventId

 

SplitButton 控件类型示例

下图演示了实现 SplitButton 控件类型的控件。

显示拆分按钮控件示例的屏幕截图

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

 

概念性

UI 自动化控件类型概述

UI 自动化概述