网格控件模式
介绍实现 IGridProvider 的准则和约定,包括有关属性和方法的信息。 网格控件模式用于支持充当子元素集合的容器的控件。
此元素的子元素必须实现 IGridItemProvider ,并在可按行和列遍历的二维逻辑坐标系中组织。 有关实现此控件模式的控件示例,请参阅 控件类型及其支持的控件模式。
本主题包含以下各节:
实现准则和约定
实现 网格 控件模式时,请注意以下准则和约定:
网格坐标从零开始,左上角 (或右上方单元格,具体取决于坐标 (0,0) 的区域设置) 。
如果单元格为空,仍必须返回 Microsoft UI 自动化 元素,以便支持该单元格的 IGridItemProvider::ContainingGrid 属性。 当网格中的子元素的布局类似于未对齐的数组时,这是可能的(请参阅下面的示例)。
如果逻辑上认为具有单个项的网格是网格,则仍需要具有单个项的网格来实现 IGridProvider 。 网格中的子项数并不重要。
隐藏的行和列(取决于提供程序实现)可能会加载到UI 自动化树中,因此将反映在 IGridProvider::RowCount 和 ColumnCount 属性中。 如果尚未加载隐藏的行和列,则不应对它们进行计数。
IGridProvider 不启用网格的活动操作;必须实现 ITransformProvider 才能启用此功能。
使用 IUIAutomationStructureChangedEventHandler 侦听网格的结构或布局更改,例如已添加、删除或合并的单元格。
使用 IUIAutomationFocusChangedEventHandler 跟踪遍历网格的项或单元格。
IGridProvider 的必需成员
实现 IGridProvider 接口需要以下属性和方法。
必需的成员 | 成员类型 | 说明 |
---|---|---|
RowCount | 属性 | 无 |
ColumnCount | 属性 | 无 |
GetItem | 方法 | 无 |
没有与此控件模式关联的事件。
相关主题