网格控件模式

介绍实现 IGridProvider 的准则和约定,包括有关属性和方法的信息。 网格控件模式用于支持充当子元素集合的容器的控件。

此元素的子元素必须实现 IGridItemProvider ,并在可按行和列遍历的二维逻辑坐标系中组织。 有关实现此控件模式的控件示例,请参阅 控件类型及其支持的控件模式

本主题包含以下各节:

实现准则和约定

实现 网格 控件模式时,请注意以下准则和约定:

  • 网格坐标从零开始,左上角 (或右上方单元格,具体取决于坐标 (0,0) 的区域设置) 。

  • 如果单元格为空,仍必须返回 Microsoft UI 自动化 元素,以便支持该单元格的 IGridItemProvider::ContainingGrid 属性。 当网格中的子元素的布局类似于未对齐的数组时,这是可能的(请参阅下面的示例)。

    具有空坐标的网格控件示例

  • 如果逻辑上认为具有单个项的网格是网格,则仍需要具有单个项的网格来实现 IGridProvider 。 网格中的子项数并不重要。

  • 隐藏的行和列(取决于提供程序实现)可能会加载到UI 自动化树中,因此将反映在 IGridProvider::RowCountColumnCount 属性中。 如果尚未加载隐藏的行和列,则不应对它们进行计数。

  • IGridProvider 不启用网格的活动操作;必须实现 ITransformProvider 才能启用此功能。

  • 使用 IUIAutomationStructureChangedEventHandler 侦听网格的结构或布局更改,例如已添加、删除或合并的单元格。

  • 使用 IUIAutomationFocusChangedEventHandler 跟踪遍历网格的项或单元格。

IGridProvider 的必需成员

实现 IGridProvider 接口需要以下属性和方法。

必需的成员 成员类型 说明
RowCount 属性
ColumnCount 属性
GetItem 方法

 

没有与此控件模式关联的事件。

控件类型及其支持的控件模式

GridItem 控件模式

UI 自动化控件模式概述

UI 自动化树概述