选项卡控件类型

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

选项卡控件类似于笔记本中的分隔条或文件柜中的标签。 通过使用选项卡控件,应用程序可以为窗口或对话框的相同区域定义多个页。

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

本主题包含以下各节:

典型树结构

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

控件视图 内容视图
  • 选项卡
    • TabItem(1 个或多个)
    • ScrollBar(0 个或 1 个)
      • Button(0 个或 2 个)
  • 选项卡
    • TabItem(1 个或多个)

 

选项卡控件具有基于 TabItem 控件类型的子UI 自动化元素。 例如,当选项卡项 (分组时,如在 Microsoft Office 应用程序中) 选项卡 控件类型还可以托管分组选项卡项的 控件类型,如以下树结构所示。

控件视图 内容视图
  • 选项卡
    • TabItem(1 个或多个)
    • Group(0 个或多个)
      • TabItem(0 个或多个)
    • ScrollBar(0 个或 1 个)
      • Button(0 个或 2 个)
  • 选项卡
    • TabItem(1 个或多个)
    • Group(0 个或多个)
      • TabItem(0 个或多个)

 

相关属性

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

UI 自动化属性 说明
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId 选项卡控件没有可单击的点。
UIA_ControlTypePropertyId 选项卡
UIA_IsContentElementPropertyId TRUE 选项卡控件始终包含在 UI 自动化树的内容视图中。
UIA_IsControlElementPropertyId TRUE 编辑控件始终包含在 UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId TRUE Tab 控件类型必须能够接收键盘焦点。 通常,UI 自动化客户端在选项卡控件上调用 IUIAutomationElement::SetFocus,其一项会将键盘焦点转发到选项卡控件。 某些选项卡容器可以接受焦点,但不会将焦点设置为它的一个项。
UIA_LabeledByPropertyId 请参阅注释。 选项卡控件通常具有通过此属性公开的静态文本标签。
UIA_LocalizedControlTypePropertyId 请参阅注释。 对应于 Tab 控件类型的本地化字符串。 en-US 或英语 (美国) 的默认值为“tab”。
UIA_NamePropertyId 请参阅注释。 选项卡控件很少需要 Name 属性。
UIA_OrientationPropertyId 请参阅注释。 选项卡控件必须始终表明是水平放置还是垂直放置。

 

所需的控件模式

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

控件模式/模式属性 支持/值 注释
ISelectionProvider 必选 所有选项卡控件都必须支持 “选择” 控件模式。
IsSelectionRequired TRUE 选项卡控件始终要求进行选择。
CanSelectMultiple FALSE 选项卡控件总是为单选容器。
IScrollProvider 依赖的对象 如果 选项卡 控件的小组件允许滚动浏览一组选项卡项,则必须支持 Scroll 控件模式。

 

必需事件

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

UI 自动化事件 说明
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,它必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_ScrollHorizontallyScrollablePropertyId 属性更改事件。 如果控件支持 Scroll 控件模式,则必须支持此事件。
UIA_ScrollHorizontalScrollPercentPropertyId 属性更改事件。 如果控件支持 Scroll 控件模式,则必须支持此事件。
UIA_ScrollHorizontalViewSizePropertyId 属性更改事件。 如果控件支持 Scroll 控件模式,则必须支持此事件。
UIA_ScrollVerticallyScrollablePropertyId 属性更改事件。 如果控件支持 Scroll 控件模式,则必须支持此事件。
UIA_ScrollVerticalScrollPercentPropertyId 属性更改事件。 如果控件支持 Scroll 控件模式,则必须支持此事件。
UIA_ScrollVerticalViewSizePropertyId 属性更改事件。 如果控件支持 Scroll 控件模式,则必须支持此事件。
UIA_StructureChangedEventId

 

概念性

UI 自动化控件类型概述

UI 自动化概述