日历控件类型
本主题提供有关 Microsoft UI 自动化对 Calendar 控件类型的支持的信息。 日历控件允许用户轻松确定日期并选择其他日期。
以下部分定义了日历控件类型所需的UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台集成UI 自动化控件类型和控件模式支持的所有日历控件。
本主题包含以下各节:
典型树结构
下表描述了与日历控件相关的UI 自动化树的典型控件和内容视图,并描述了每个视图中可以包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述。
控件视图 | 内容视图 |
---|---|
|
|
Calendar 控件可在用户界面中表示为多种不同的形式。 保证位于UI 自动化树的控件视图中的唯一控件是数据网格、标头、标头项和列表项控件。
相关属性
下表列出了值或定义与 Calendar 控件类型特别相关的UI 自动化属性。 有关UI 自动化属性的详细信息,请参阅从 UI 自动化 元素检索属性。
UI 自动化属性 | 值 | 说明 |
---|---|---|
UIA_AutomationIdPropertyId | 请参阅注释。 | 此属性的值在UI 自动化树的原始视图中的所有对等元素中必须是唯一的。 |
UIA_BoundingRectanglePropertyId | 请参阅注释。 | 包含整个控件的最外层矩形。 |
UIA_ClickablePointPropertyId | 请参阅注释。 | 如果存在边界矩形,则受支持。 如果边界矩形中的每个点都是可单击的,并且元素执行专门的命中测试,请重写并提供可单击的点。 |
UIA_ControlTypePropertyId | 日历 | 此值对于所有 UI 框架均相同。 |
UIA_IsContentElementPropertyId | TRUE | Calendar 控件始终包含在 UI 自动化树的内容视图中。 |
UIA_IsControlElementPropertyId | TRUE | Calendar 控件始终包含在 UI 自动化树的控件视图中。 |
UIA_IsKeyboardFocusablePropertyId | 请参阅注释。 | 如果该控件可以接收键盘焦点,则它必须支持此属性。 |
UIA_LabeledByPropertyId | 请参阅注释。 | 此属性的值应为文档控件的标签。 通常使用文档的标题。 |
UIA_LocalizedControlTypePropertyId | 请参阅注释。 | 对应于 Calendar 控件类型的本地化字符串。 en-US 或英语 (美国) 的默认值为“calendar”。 |
UIA_NamePropertyId | 请参阅注释。 | 日历控件通常从当前日期获取其名称。 |
所需的控件模式
下表列出了需要由所有 Calendar 控件支持的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI Automation Control Patterns Overview。
控件模式/模式属性 | 支持/值 | 注释 |
---|---|---|
IGridProvider | 必须 | 日历控件始终支持 Grid 控件模式,因为一个月内的天数是可在空间上导航的项。 |
IScrollProvider | 依赖的对象 | 大多数日历控件支持按页翻转视图。 建议使用 Scroll 控件模式来支持分页导航。 |
ISelectionProvider | 依赖的对象 | 大多数日历控件保留特定的日期、月份或年份作为子元素的选择。 某些日历是多选的,而其他日历只能单选。 具有可选子元素的日历控件应支持 选择 控件模式。 |
ITableProvider | 必须 | 由于日历控件在其子树中始终有一个标题,表示星期几,因此必须支持 表 控件模式。 |
IValueProvider | 否 | 日历控件不需要 Value 控件模式,因为 元素不能直接在控件上设置值。 如果特定日期与控件相关联,则信息应由 Selection 控件模式提供。 |
必需事件
下表列出了日历控件需要支持的UI 自动化事件。 有关事件的详细信息,请参阅 F:System.Windows.Automation.AutomationElementIdentifiers.IsEnabledProperty。
UI 自动化事件 | 说明 |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId 属性更改事件。 | |
UIA_IsEnabledPropertyId 属性更改事件。 | 如果控件支持 IsEnabled 属性,则必须支持此事件。 |
UIA_IsOffscreenPropertyId 属性更改事件。 | 如果控件支持 IsOffscreen 属性,则必须支持此事件。 |
UIA_LayoutInvalidatedEventId | |
UIA_MultipleViewCurrentViewPropertyId 属性更改事件。 | 如果控件支持 MultipleView 控件模式的 CurrentView 属性,则必须支持此事件。 |
UIA_StructureChangedEventId | |
UIA_ScrollHorizontallyScrollablePropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollHorizontalScrollPercentPropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollHorizontalViewSizePropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollVerticalScrollPercentPropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollVerticallyScrollablePropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_ScrollVerticalViewSizePropertyId 属性更改事件。 | 如果控件支持 Scroll 控件模式,则必须支持此事件。 |
UIA_Selection_InvalidatedEventId |
相关主题
-
概念性