选择控件模式

介绍实现 ISelectionProvider 的准则和约定,包括有关属性、方法和事件的信息。 Selection 控件模式用于支持充当可选子项集合的容器的控件。 此元素的子元素必须实现 ISelectionItemProvider

有关实现此控件模式的控件示例,请参阅 控件类型及其支持的控件模式

本主题包含以下各节:

实现准则和约定

实现 选择 控件模式时,请注意以下准则和约定:

  • 实现 ISelectionProvider 的 控件允许选择单个或多个子项。 例如,列表框、列表视图和树视图支持多个选择,而组合框、滑块和单选按钮组支持单选。

  • 具有最小、最大和连续范围的控件(例如媒体播放器的 音量 滑块控件)应实现 IRangeValueProvider ,而不是 ISelectionProvider

  • 管理实现 IRawElementProviderFragmentRoot 的子控件的单选控件(例如 Windows 的“显示属性”对话框中的“屏幕分辨率”滑块)或 Microsoft Word (的“颜色选取器选择器选择控件”) ,应实现 ISelectionProvider;其子控件应同时实现 IRawElementProviderFragmentISelectionItemProvider

    显示颜色样本字符串映射示例的图像

  • 菜单不支持 “选择” 控件模式。 如果使用的是同时包含图形和文本 (的菜单项,例如 Microsoft Outlook) “视图”菜单中的“预览窗格”项,并且需要传达状态,则应实现 IToggleProvider

ISelectionProvider 的必需成员

实现 ISelectionProvider 接口需要以下属性、方法和事件。

必需的成员 成员类型 说明
CanSelectMultiple 属性
IsSelectionRequired 属性
GetSelection 方法
UIA_Selection_InvalidatedEventId 事件 当容器中的选择发生重大更改时引发此事件。

 

ISelectionProvider::IsSelectionRequiredCanSelectMultiple 属性可以是动态的。 例如,控件的初始状态默认情况下可能没有选择任何项,这表示 IsSelectionRequired 为 false。 但是,选择某一项后,该控件必须始终具有至少一个选定的项。 同样,在极少数情况下,控件可能允许在初始状态下选择多个项,但随后仅允许选择一个选项。

控件类型及其支持的控件模式

SelectionItem 控件模式

UI 自动化控件模式概述

UI 自动化树概述