ScrollBar 控件类型
本主题提供有关 Microsoft UI 自动化对 ScrollBar 控件类型的支持的信息。
滚动条控件使用户能够滚动窗口或项容器中的内容。 控件由一组按钮和一个 Thumb 控件组成。
以下部分定义了 ScrollBar 控件类型所需的UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成UI 自动化控件类型和控件模式支持的所有滚动条控件。
本主题包含以下各节:
典型树结构
下表描述了与滚动条控件相关的UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
|
不适用。 (滚动条控件没有内容。) |
滚动条控件可以具有零到五个子级。 由于子树具有多个按钮控件,因此元素必须为每个项设置特定的 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 控件模式,则必须支持此事件。 |
相关主题
-
概念性