ScrollBar 控件类型

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

滚动条控件使用户能够滚动窗口或项容器中的内容。 该控件由一组按钮和拇指控件组成。

以下部分定义了 ScrollBar 控件类型的必需UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于所有滚动条控件,其中 UI 框架/平台集成了对控件类型和控件模式UI 自动化支持。

本主题包含以下各节:

典型树结构

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

控件视图 内容视图
  • ScrollBar
    • 按钮 (0、2 或 4)
    • Thumb (0 或 1)
不适用。 (滚动条控件没有 content.)

 

滚动条控件可以有零到五个子级。 由于子树具有多个按钮控件,因此该元素必须为每个项设置特定的 UIA_AutomationIdPropertyId 值,使其可用于自动测试工具。

相关属性

下表列出 UI 自动化属性,这些属性的值或定义与滚动条控件尤其相关。 请注意,滚动条控件从不具有内容;其功能通过 滚动 控件模式公开,该模式在滚动的容器上受支持。

有关UI 自动化属性的详细信息,请参阅从 UI 自动化 Elements 检索属性

UI 自动化属性 注释
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId NaN 滚动条控件没有可单击的点。
UIA_ControlTypePropertyId ScrollBar 此值对于所有的框架均相同。 用作滑块的滚动条必须使用 滑块 控件类型。
UIA_IsContentElementPropertyId FALSE 滚动条控件永远不会是内容元素。 如果滚动条是独立控件,则必须满足 Slider 控件类型,并为 IUIAutomationElement::CurrentControlType (或 CachedControlType) 属性返回UIA_SliderControlTypeId
UIA_IsControlElementPropertyId TRUE 滚动条控件始终包含在UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅注释。 如果该控件可以接收键盘焦点,则它必须支持此属性。 滚动条控件很少采用焦点,但这样做时,焦点应保留在滚动条控件本身上,而不是在子按钮或拇指上。 用户应能够使用向上键和向下键 (或向右键和向左键) 键或页面向上键和向下键执行所有滚动操作。
UIA_LabeledByPropertyId Null 滚动条没有标签。
UIA_LocalizedControlTypePropertyId 请参阅注释。 对应于 ScrollBar 控件类型的本地化字符串。 默认值为 en-US 或英语 (美国) 的“滚动条”。
UIA_NamePropertyId Null 滚动条控件没有内容元素,不需要设置 UIA_NamePropertyId 属性。
UIA_OrientationPropertyId 请参阅注释。 滚动条控件必须始终公开其水平或垂直方向。

 

所需的控件模式

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

注意

仅当滚动条用作鼠标操作的控件时,它不支持控件模式。 如果它用作应用程序中的滑块控件,则必须为其提供 Slider 控件类型。

 

控件模式 支持 说明
IRangeValueProvider 依赖的对象 仅当滚动控件模式在具有滚动条的容器上不受支持时,才需要支持 RangeValue 控件模式。
IScrollProvider 从不 滚动控件模式从不直接在滚动条上受支持。

 

必需事件

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

UI 自动化事件 备注
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId 属性更改事件。
UIA_IsEnabledPropertyId 属性更改事件。 如果控件支持 IsEnabled 属性,则必须支持此事件。
UIA_IsOffscreenPropertyId 属性更改事件。 如果控件支持 IsOffscreen 属性,则必须支持此事件。
UIA_StructureChangedEventId
UIA_RangeValueValuePropertyId 属性更改事件。 如果控件支持 RangeValue 控件模式,则必须支持此事件。

 

概念性

UI 自动化控件类型概述

UI 自动化概述