选择控件模式
介绍实现 ISelectionProvider 的准则和约定,包括有关属性、方法和事件的信息。 Selection 控件模式用于支持充当可选子项集合的容器的控件。 此元素的子元素必须实现 ISelectionItemProvider。
有关实现此控件模式的控件示例,请参阅 控件类型及其支持的控件模式。
本主题包含以下各节:
实现准则和约定
实现 选择 控件模式时,请注意以下准则和约定:
实现 ISelectionProvider 的 控件允许选择单个或多个子项。 例如,列表框、列表视图和树视图支持多个选择,而组合框、滑块和单选按钮组支持单选。
具有最小、最大和连续范围的控件(例如媒体播放器的 音量 滑块控件)应实现 IRangeValueProvider ,而不是 ISelectionProvider。
管理实现 IRawElementProviderFragmentRoot 的子控件的单选控件(例如 Windows 的“显示属性”对话框中的“屏幕分辨率”滑块)或 Microsoft Word (的“颜色选取器选择器选择控件”) ,应实现 ISelectionProvider;其子控件应同时实现 IRawElementProviderFragment 和 ISelectionItemProvider。
菜单不支持 “选择” 控件模式。 如果使用的是同时包含图形和文本 (的菜单项,例如 Microsoft Outlook) “视图”菜单中的“预览窗格”项,并且需要传达状态,则应实现 IToggleProvider。
ISelectionProvider 的必需成员
实现 ISelectionProvider 接口需要以下属性、方法和事件。
必需的成员 | 成员类型 | 说明 |
---|---|---|
CanSelectMultiple | 属性 | 无 |
IsSelectionRequired | 属性 | 无 |
GetSelection | 方法 | 无 |
UIA_Selection_InvalidatedEventId | 事件 | 当容器中的选择发生重大更改时引发此事件。 |
ISelectionProvider::IsSelectionRequired 和 CanSelectMultiple 属性可以是动态的。 例如,控件的初始状态默认情况下可能没有选择任何项,这表示 IsSelectionRequired 为 false。 但是,选择某一项后,该控件必须始终具有至少一个选定的项。 同样,在极少数情况下,控件可能允许在初始状态下选择多个项,但随后仅允许选择一个选项。
相关主题