Compartir a través de


Implementación del patrón de control de cuadrícula de automatización de la interfaz de usuario

Nota:

Esta documentación está pensada para desarrolladores de .NET Framework que desean usar las clases de automatización de la interfaz de usuario administradas definidas en el espacio de nombres System.Windows.Automation. Para obtener la información más reciente sobre la automatización de la interfaz de usuario, consulte API de Windows Automation: Automatización de la interfaz de usuario.

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

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, consulte Asignación de patrones de control para clientes de automatización de la interfaz de usuario.

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 se debe devolver un elemento de UI Automation para que la propiedad ContainingGrid de esa celda sea compatible. Esto es posible cuando el diseño de los elementos secundarios de la cuadrícula es similar a una matriz desigual (vea el ejemplo siguiente).

Vista del Explorador de Windows que muestra un diseño desigual. Ejemplo de un control grid con coordenadas vacías

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

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

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

  • Usa StructureChangedEventHandler para escuchar los cambios estructurales o de diseño en la cuadrícula, como las celdas que se han agregado, quitado o combinadas.

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

Miembros necesarios para IGridProvider

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

Miembros necesarios Tipo Notas
RowCount Propiedad Ninguno
ColumnCount Propiedad Ninguno
GetItem Método Ninguno

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 fila solicitada es mayor que RowCount o la coordenada de columna es mayor que ColumnCount.
ArgumentOutOfRangeException GetItem

- Si cualquiera de las coordenadas de fila o columna solicitadas es menor que cero.

Consulte también