UI 自动化对 Calendar 控件类型的支持

更新:2007 年 11 月

本主题介绍 UI 自动化对 Calendar 控件类型的支持。在 UI 自动化中,控件类型是一组条件,控件必须满足这些条件才能使用 ControlTypeProperty 属性。这些条件包括 UI 自动化树结构的特定准则、UI 自动化属性值、控件模式和 UI 自动化事件。

通过使用日历控件,用户可以轻松地确定日期和选择其他日期。

以下几节定义了 Calendar 控件类型必需的 UI 自动化树结构、属性、控件模式和事件。UI 自动化的要求适用于所有日历控件,无论控件是 Windows Presentation Foundation (WPF)、Win32 还是 Windows 窗体。

本主题包括下列各节。

  • 必需的 UI 自动化树结构
  • 必需的 UI 自动化属性
  • 必需的 UI 自动化控件模式
  • 必需的 UI 自动化事件
  • 相关主题

必需的 UI 自动化树结构

下表描述了与日历控件有关的 UI 自动化树的控件视图和内容视图,以及每个视图中可包含的内容。有关 UI 自动化树的更多信息,请参见 UI 自动化树概述

控件视图

内容视图

  • Calendar

    • DataGrid

    • Header(DataGrid 的子项)

    • HeaderItem(Header 的子项;数量取决于显示的天数)

    • ListItem(Header 的子项;数量取决于显示的天数)

    • Button(DataGrid 的子项;0 个或 2 个)

  • Calendar

    • ListItem(数量取决于显示的天数)

在用户界面中可以用许多不同的形式来呈现日历控件。一定会出现在 UI 自动化树的控件视图中的控件只有数据网格、标题项和列表项控件。

必需的 UI 自动化属性

下表列出了值或定义与日历控件密切相关的 UI 自动化属性。有关 UI 自动化属性的更多信息,请参见客户端的 UI 自动化属性

UI 自动化属性

说明

AutomationIdProperty()

请参见“说明”。

此属性的值在应用程序中的所有控件中必须保持唯一。

BoundingRectangleProperty

请参见“说明”。

包含整个控件的最外面的矩形。

ClickablePointProperty

请参见“说明”。

有边框时支持。如果并非边框中的每个点都是可单击的,那么,当您执行专用的命中测试时,请重写并提供一个可单击的点。

ControlTypeProperty

Calendar

此值对于所有 UI 框架均相同。

IsContentElementProperty

True

日历控件始终包括在 UI 自动化树的内容视图中。

IsControlElementProperty

True

日历控件始终包括在 UI 自动化树的控件视图中。

IsKeyboardFocusableProperty

请参见“说明”。

如果该控件可以接收键盘焦点,则它必须支持此属性。

LabeledByProperty

请参见“说明”。

如果存在静态文本标签,则此属性必须公开对该控件的引用。

LocalizedControlTypeProperty

“日历”

与 Calendar 控件类型相对应的本地化字符串。

NameProperty

请参见“说明”。

日历控件通常从当天的日期获取其名称。

必需的 UI 自动化控件模式

下表列出了必须由所有的日历控件支持的 UI 自动化控件模式。有关控件模式的更多信息,请参见 UI 自动化控件模式概述

控件模式/模式属性

支持/值

说明

IGridProvider

日历控件始终支持 Grid 模式,因为月中的天是可在空间上导航的项目。

IScrollProvider

视情况而定

能否在日历中滚动取决于日历是否允许在不更改控件状态的情况下导航到其他月份。

ISelectionProvider

所有日历控件内都包含可选择的表示星期几的项。某些日历具有多选功能,其他日历只具有单选功能。

ITableProvider

日历控件的星期几子树内始终有标题,因此必须支持 Table 模式。

IValueProvider

日历控件未必采用 Value 模式,因为您无法直接在控件上设置值。Selection 模式提供了所有信息。

必需的 UI 自动化事件

下表列出了必须由所有日历控件支持的 UI 自动化事件。有关事件的更多信息,请参见 UI 自动化事件概述

UI 自动化事件

支持/值

说明

AutomationFocusChangedEvent

必需

BoundingRectangleProperty property-changed 事件。

必需

IsEnabledProperty property-changed 事件。

必需

IsOffscreenProperty property-changed 事件。

必需

LayoutInvalidatedEvent

必需

StructureChangedEvent

必需

CurrentViewProperty property-changed 事件。

视情况而定

HorizontallyScrollableProperty property-changed 事件。

视情况而定

如果控件支持 Scroll 控件模式,则它必须支持此事件。

HorizontalScrollPercentProperty property-changed 事件。

视情况而定

如果控件支持 Scroll 控件模式,则它必须支持此事件。

HorizontalViewSizeProperty property-changed 事件。

视情况而定

如果控件支持 Scroll 控件模式,则它必须支持此事件。

VerticalScrollPercentProperty property-changed 事件。

视情况而定

如果控件支持 Scroll 控件模式,则它必须支持此事件。

VerticallyScrollableProperty property-changed 事件。

视情况而定

如果控件支持 Scroll 控件模式,则它必须支持此事件。

VerticalViewSizeProperty property-changed 事件。

视情况而定

如果控件支持 Scroll 控件模式,则它必须支持此事件。

InvalidatedEvent

必需

请参见

概念

UI 自动化控件类型概述

UI 自动化概述

参考

Calendar