日历控件类型

本主题提供有关 日历 控件类型的Microsoft UI 自动化支持的信息。 日历控件允许用户轻松确定日期并选择其他日期。

以下各节定义 日历 控件类型所需的 UI 自动化树结构、属性、控件模式和事件。 UI 自动化要求适用于 UI 框架/平台为控件类型和控件模式集成 UI 自动化支持的所有日历控件。

本主题包含以下部分。

典型树结构

下表描述了与日历控件相关的 UI 自动化树的典型控件和内容视图,并描述了每个视图中可包含的内容。 有关 UI 自动化树的详细信息,请参阅 UI 自动化树概述

控件视图 内容视图
  • 日历
    • DataGrid
      • 标头 (0 或 1)
        • HeaderItem (0 或 7,数量取决于列中显示的天数)
      • ListItem (数量取决于显示的天数)
      • 按钮(0 或 2;用于分页日历视图)
  • 日历
    • ListItem (数量取决于显示的天数)

 

日历控件可以以用户界面中的多种不同形式表示。 保证在 UI 自动化树的控件视图中的唯一控件是数据网格、标头项和列表项控件。

相关属性

下表列出了其值或定义与日历 控件类型 特别相关的 UI 自动化属性。 有关 UI 自动化属性的详细信息,请参阅 从 UI 自动化元素检索属性

UI 自动化属性 价值 笔记
UIA_AutomationIdPropertyId 请参阅备注。 此属性的值在 UI 自动化树的原始视图中的所有对等元素中必须是唯一的。
UIA_BoundingRectanglePropertyId 请参阅备注。 包含整个控件的最外侧矩形。
UIA_ClickablePointPropertyId 请参阅备注。 如果存在边界矩形,则受支持。 如果边界矩形中的每个点都不可单击,并且该元素执行专用命中测试,请重写并提供可单击点。
UIA_ControlTypePropertyId 日历 对于所有 UI 框架,此值相同。
UIA_IsContentElementPropertyId 日历控件始终包含在 UI 自动化树的内容视图中。
UIA_IsControlElementPropertyId 日历控件始终包含在 UI 自动化树的控件视图中。
UIA_IsKeyboardFocusablePropertyId 请参阅备注。 如果控件可以接收键盘焦点,它必须支持此属性。
UIA_LabeledByPropertyId 请参阅备注。 此属性的值应为文档控件的标签。 通常,使用文档的标题。
UIA_LocalizedControlTypePropertyId 请参阅备注。 对应于 日历 控件类型的本地化字符串。 默认值为 en-US 或英语(美国)的“日历”。
UIA_NamePropertyId 请参阅备注。 日历控件通常从当前日期获取其名称。

 

所需的控件模式

下表列出了所有日历控件支持所需的 UI 自动化控件模式。 有关控件模式的详细信息,请参阅 UI 自动化控件模式概述

控件模式/模式属性 支持/值 笔记
IGridProvider 必填 日历控件始终支持 网格 控件模式,因为一个月内的天数是可以空间导航的项目。
IScrollProvider 取决于 大多数日历控件都支持按页面翻转视图。 建议使用 Scroll 控件模式来支持分页导航。
ISelectionProvider 取决于 大多数日历控件保留特定的日期、月或年作为子元素的选择。 某些日历是多选日历,而其他只有单选日历。 具有可选子元素的日历控件应支持 选择 控件模式。
ITableProvider 必填 由于日历控件在其子树中始终有一个标题,因此必须支持 控件模式。
IValueProvider 日历控件不需要 控件模式,因为元素无法直接在控件上设置值。 如果特定日期与控件相关联,则 选择 控件模式应提供信息。

 

必需事件

下表列出了日历控件需要支持的 UI 自动化事件。 有关事件的详细信息,请参阅 UI 自动化事件概述

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

 

概念

UI 自动化控件类型概述

UI 自动化概述