SemanticZoom 控件类型
本主题提供有关 UI 自动化对 SemanticZoom 控件类型的支持的信息。
语义式缩放是 Windows 8 中引入的一种技术,用于在单个视图中显示和导航大型相关数据或内容集,例如相册、应用列表或通讯簿。 语义式缩放使用两种不同的分类模式(即 缩放级别)来组织和呈现内容。 低级别 (或放大) 模式 以 平面“全上”结构显示项目:和高级 (或 缩小) 模式按组显示项目,使用户能够快速导航和浏览内容。 例如,缩放城市列表可能会更改为包含这些城市的州列表。 缩放程序列表可能会更改为逻辑程序组列表。
有关专门用于 Windows 应用商店应用的语义式缩放的详细信息,请参阅 语义式缩放指南。
SemanticZoom 控件类型的使用模型不同寻常,因为它主要用于编程访问。 Microsoft UI 自动化客户端可以监视和操作语义式缩放控件,以控制列表的放大状态。 不使用辅助技术的用户通常会通过触摸手势或键盘快捷方式直接操作语义式缩放控件。
以下部分定义 SemanticZoom 控件类型所需的 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于所有语义式缩放控件,其中 UI 框架/平台集成了 UI 自动化对控件类型和控件模式的支持。
本主题包含以下各节:
典型树结构
下表描述了与 SemanticZoom 控件类型相关的 UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
|
|
或:
控件视图 | 内容视图 |
---|---|
|
|
相关属性
下表列出了其值或定义与实现 SemanticZoom 控件类型的控件特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅 从 UI 自动化元素检索属性。
UI 自动化属性 | 值 | 注释 |
---|---|---|
UIA_AutomationIdPropertyId | 请参阅注释。 | 此属性的值在 UI 自动化树的原始视图中的所有对等元素中必须是唯一的。 |
UIA_BoundingRectanglePropertyId | 请参阅注释。 | 包含整个控件的最外层矩形。 |
UIA_ClickablePointPropertyId | 请参阅注释。 | 如果列表控件有一个可单击的点 (一个可单击的点,该点可以单击该点,使列表) 焦点,则必须通过此属性公开该点。 如果 UIA_IsOffscreenPropertyId 属性的值为 TRUE,则尝试检索此属性会导致 UIA_E_NOCLICKABLEPOINT 错误。 |
UIA_ControlTypePropertyId | SemanticZoom | |
UIA_IsContentElementPropertyId | TRUE | |
UIA_IsControlElementPropertyId | TRUE | |
UIA_IsKeyboardFocusablePropertyId | FALSE | |
UIA_LabeledByPropertyId | 请参阅注释。 | 如果存在静态文本标签,则此属性必须公开对该控件的引用。 |
UIA_LocalizedControlTypePropertyId | 请参阅注释。 | 对应于 SemanticZoom 控件类型的本地化字符串。 en-US 或英语 (美国) 的默认值为“语义式缩放”。
注意: 某些框架将其连接为“semanticzoom”。 |
UIA_NamePropertyId | 请参阅注释。 | 空字符串是可接受的,或者可以提供更有用的名称,只要它不包含术语语义缩放 ,这将使控件类型和名称的组合令人困惑。 |
所需的控件模式和属性
下表列出了需要由所有语义式缩放控件支持的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview。
控件模式/模式属性 | 支持/值 | 注释 |
---|---|---|
IToggleProvider | 依赖的对象 | 语义式缩放控件支持 切换 控件模式,以允许启用或禁用缩放。 ToggleState_Off 对应于平面、全部向上状态, ToggleState_On 对应于高级缩小视图。 |
必需事件
下表列出了语义式缩放控件需要支持的 UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty。
UI 自动化事件 | 注释 |
---|---|
UIA_BoundingRectanglePropertyId 属性更改事件。 | |
UIA_IsEnabledPropertyId 属性更改事件。 | 如果控件支持 IsEnabled 属性,则必须支持此事件。 |
UIA_IsOffscreenPropertyId 属性更改事件。 | 如果控件支持 IsOffscreen 属性,则必须支持此事件。 |
UIA_ToggleToggleStatePropertyId 属性更改事件。 |
注解
如果 UI 具有用于切换语义式缩放控件行为的可见按钮,则此按钮不应具有 SemanticZoom 控件类型。 这是违反直觉的,但 SemanticZoom 控件类型描述缩放内容的容器,而不是控制缩放的按钮。 (此类按钮可以简单地表示为具有切换控件模式的按钮控件类型。)