ScrollBar 控件类型

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

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

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

本主题包含以下各节:

典型树结构

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

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

 

滚动条控件可以具有零到五个子级。 由于子树具有多个按钮控件,因此元素必须为每个项设置特定的 UIA_AutomationIdPropertyId 值,以便自动测试工具能够发现它们。

相关属性

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

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

UI 自动化属性 说明
UIA_AutomationIdPropertyId 请参阅注释。 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅注释。 包含整个控件的最外层矩形。
UIA_ClickablePointPropertyId NaN 滚动条控件没有可单击的点。
UIA_ControlTypePropertyId 滚动条 此值对于所有的框架均相同。 用作滑块的滚动条必须使用 Slider 控件类型。
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 从不 滚动条上永远不会直接支持 Scroll 控件模式。

 

必需事件

下表列出了滚动条控件需要支持的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 自动化概述