Implementar el patrón de control Grid de UI Automation

Nota

Esta documentación está dirigida a los desarrolladores de .NET Framework que quieran usar las clases de automatización de la interfaz de usuario administradas definidas en el espacio de nombres System.Windows.Automation. Para ver la información más reciente acerca de la automatización de la interfaz de usuario, consulte Windows Automation API: automatización de la interfaz de usuario.

En este tema se presentan las directrices y convenciones para implementar IGridProvider, incluida la información sobre propiedades, métodos y eventos. Al final de la información general se proporcionan vínculos a referencias adicionales.

El patrón de control GridPattern se usa para admitir controles que actúen como contenedores para una colección de elementos secundarios. Los elementos secundarios de este elemento deben implementar IGridItemProvider y organizarse en un sistema de coordenadas lógico bidimensional que se pueda recorrer por filas y columnas. Para obtener ejemplos de controles que implementan este patrón de control, vea Control Pattern Mapping for UI Automation Clients.

Directrices y convenciones de implementación

Al implementar el patrón de control Grid, tenga en cuenta las siguientes directrices y convenciones:

  • Las coordenadas de la cuadrícula son de base cero, donde la celda superior izquierda (o la superior derecha, según la configuración regional) tiene las coordenadas (0, 0).

  • Si una celda está vacía, todavía debe devolverse un elemento de Automatización de la interfaz de usuario para admitir la propiedad ContainingGrid en esa celda. Esto es posible si el diseño de elementos secundarios de la cuadrícula es similar a una matriz irregular (consulte el ejemplo siguiente).

Windows Explorer view showing ragged layout. Ejemplo de un control de cuadrícula con coordenadas vacías

  • Sigue siendo necesaria una cuadrícula con un elemento único para implementar IGridProvider si lógicamente se considera una cuadrícula. El número de elementos secundarios de la cuadrícula es irrelevante.

  • Las filas y columnas ocultas, según la implementación del proveedor, se pueden cargar en el árbol de automatización de la interfaz de usuario y, por tanto, se reflejarán en las propiedades RowCount y ColumnCount. Si las filas y columnas ocultas todavía no se han cargado, no deben contarse.

  • IGridProvider no permite la manipulación activa de una cuadrícula; ITransformProvider debe implementarse para habilitar esta funcionalidad.

  • Use un elemento StructureChangedEventHandler para permanecer a la escucha de cambios estructurales o de diseño en la cuadrícula, como por ejemplo, celdas que se hayan agregado, quitado o combinado.

  • Use un elemento AutomationFocusChangedEventHandler para realizar un seguimiento del recorrido a través de los elementos o las celdas de una cuadrícula.

Miembros requeridos para IGridProvider

Se requieren los métodos y propiedades siguientes para implementar la interfaz de IGridProvider.

Miembros requeridos Tipo Notas
RowCount Propiedad None
ColumnCount Propiedad None
GetItem Método None

Este patrón de control no tiene eventos asociados.

Excepciones

Los proveedores deben producir las siguientes excepciones.

Tipo de excepción Condición
ArgumentOutOfRangeException GetItem

- Si la coordenada de la fila solicitada es mayor que el valor de RowCount o la coordenada de la columna es mayor que el valor de ColumnCount.
ArgumentOutOfRangeException GetItem

- Si las coordenadas de la fila o columna solicitadas son menores que cero.

Consulte también