更新:2007 年 11 月
本主题介绍 Microsoft UI 自动化对 DataGrid 控件类型的支持。在 UI 自动化中,控件类型是一组条件,控件必须满足这些条件才能使用 ControlType 属性。这些条件包括 UI 自动化树结构的特定准则、UI 自动化属性值和控件模式。
利用 DataGrid 控件类型,用户可以轻松地处理包含列中所显示元数据的项。数据网格控件在行中显示项,在列中显示有关这些项的信息。Microsoft Vista 资源管理器中的列表视图控件就是支持 DataGrid 控件类型的示例。
以下几节定义了 DataGrid 控件类型必需的 UI 自动化树结构、属性、控件模式和事件。UI 自动化的要求适用于所有数据网格控件,无论控件是 Windows Presentation Foundation (WPF)、Win32 还是 Windows 窗体。
本主题包括下列各节。
- 必需的 UI 自动化树结构
- 必需的 UI 自动化属性
- 必需的 UI 自动化控件模式
- 必需的 UI 自动化事件
- Date Grid 控件类型示例
- 相关主题
必需的 UI 自动化树结构
下表描述了与数据网格控件有关的 UI 自动化树的控件视图和内容视图,以及每个视图中可包含的内容。有关 UI 自动化树的更多信息,请参见 UI 自动化树概述。
UI 自动化树 - 控件视图 |
UI 自动化树 - 内容视图 |
---|---|
|
|
必需的 UI 自动化属性
下表列出了值或定义与数据网格控件密切相关的属性。有关 UI 自动化属性的更多信息,请参见客户端的 UI 自动化属性。
属性 |
值 |
说明 |
---|---|---|
AutomationIdProperty() |
请参见“说明”。 |
此属性的值必须在应用程序中的所有控件中保持唯一。 |
请参见“说明”。 |
包含整个控件的最外面的矩形。 |
|
请参见“说明”。 |
有边框时支持。如果并非边框中的每个点都是可单击的,那么,当您执行专用的命中测试时,请重写并提供一个可单击的点。 |
|
DataGrid |
此值对于所有的 UI 框架均相同。 |
|
True |
此属性的值必须始终为 True。这意味着数据网格控件必须始终位于 UI 自动化树的内容视图中。 |
|
True |
此属性的值必须始终为 True。这意味着数据网格控件必须始终位于 UI 自动化树的控件视图中。 |
|
请参见“说明”。 |
如果该控件可以接收键盘焦点,则它必须支持此属性。 |
|
请参见“说明”。 |
如果存在静态文本标签,则此属性必须公开对该控件的引用。 |
|
“数据网格” |
与 DataGrid 控件类型相对应的本地化字符串。 |
|
请参见“说明”。 |
数据网格控件通常从静态文本标签获取其 Name 属性的值。如果没有静态文本标签,则应用程序开发人员必须为 Name 属性赋值。Name 属性的值决不应该是编辑控件的文本内容。 |
必需的 UI 自动化控件模式
下表列出了必须由所有数据网格控件支持的控件模式。有关控件模式的更多信息,请参见 UI 自动化控件模式概述。
控件模式接口 |
支持/值 |
说明 |
---|---|---|
是 |
数据网格控件本身始终支持 Grid 控件模式,因为它包含的项具有放置在网格中的元数据。 |
|
视情况而定 |
是否能够滚动数据网格取决于内容以及滚动条是否存在。 |
|
是 |
所有数据网格控件内都包含可选择的项。 |
|
是 |
数据网格控件的子树内始终有标题,因此必须支持 Table 控件模式。 |
数据网格容器内的数据项控件至少将支持:
Selection Item 控件模式
Scroll Item 控件模式(如果容器是可滚动的)
数据项容器内的项至少将支持:
Grid Item 控件模式
Table Item 控件模式
必需的 UI 自动化事件
下表列出了必须由所有数据网格控件支持的 UI 自动化事件。有关事件的更多信息,请参见 UI 自动化事件概述。
UI 自动化事件 |
支持/值 |
说明 |
---|---|---|
必需 |
无 |
|
BoundingRectangleProperty property-changed 事件。 |
必需 |
无 |
IsEnabledProperty property-changed 事件。 |
必需 |
无 |
IsOffscreenProperty property-changed 事件。 |
必需 |
无 |
视情况而定 |
无 |
|
必需 |
无 |
|
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 模式,则它必须支持此事件。 |
必需 |
无 |
Date Grid 控件类型示例
下图举例说明了实现 DataGrid 控件类型的列表视图控件。
下表显示了与 List View 控件有关的 UI 自动化树的控件视图和内容视图。每个自动化元素的控件模式都显示在括号中。
UI 自动化树 - 控件视图 |
UI 自动化树 - 内容视图 |
---|---|
DataGrid(Sort、Table、Selection、Grid)
|
DataGrid(Sort、Table、Selection、Grid)
|
Data Item 自动化元素可以具有以下子项:Edit、Image 和 Text。