Compartir a través de


Implementar el patrón de control Grid de UI Automation

NotaNota

Esta documentación está dirigida a desarrolladores de .NET Framework que desean usar las clases administradas de UI Automation definidas en el espacio de nombres System.Windows.Automation.Para obtener información actualizada sobre UI Automation, vea Windows Automation API: UI Automation.

Este tema presenta las directrices y convenciones de implementación de IGridProvider, incluida la información acerca de propiedades, métodos y eventos. Al final de la introducción se incluye una lista de vínculos a referencias adicionales.

El patrón de control GridPattern se utiliza para admitir controles que actúan 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 controles para clientes de UI Automation.

Este tema contiene las secciones siguientes.

  • Directrices y convenciones de implementación
  • Miembros obligatorios para IGridProvider
  • Excepciones
  • Temas relacionados

Directrices y convenciones de implementación

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

  • Las coordenadas de la cuadrícula están basadas en cero, y la celda superior izquierda (o superior derecha, según la configuración regional) tiene las coordenadas (0, 0).

  • Si una celda está vacía, todavía se devuelve un elemento de Automatización de la interfaz de usuario para permitir la propiedad ContainingGrid de esa celda. Esto es posible cuando el diseño de los elementos secundarios de la cuadrícula es similar a una matriz irregular (consulte el ejemplo a continuación).

Ejemplo de control de cuadrícula con coordenadas vacías

Vista del Explorador de Windows mostrando un diseño irregular.

  • Incluso una cuadrícula que tenga un solo elemento deberá implementar IGridProvider para poder considerarla una cuadrícula desde el punto de vista lógico. El número de elementos secundarios de la cuadrícula es irrelevante.

  • Dependiendo de la implementación del proveedor, las filas y columnas ocultas se pueden cargar en el árbol de UI Automation y se reflejarán por consiguiente en las propiedades RowCount y ColumnCount. Si todavía no se han cargado las filas y columnas ocultas, no se deben contar.

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

  • Utilice StructureChangedEventHandler para realizar escuchas que permitan detectar los cambios estructurales o de diseño de la cuadrícula, tales como adición, eliminación o combinación de celdas.

  • Utilice AutomationFocusChangedEventHandler para realizar el seguimiento de la exploración transversal a través de los elementos o celdas de una cuadrícula.

Miembros obligatorios para IGridProvider

Los métodos y propiedades siguientes son necesarios 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 iniciar las excepciones siguientes.

Tipo de excepción

Condition

ArgumentOutOfRangeException

GetItem

  • Si la coordenada de la fila solicitada es mayor que RowCount o la coordenada de la columna es mayor que ColumnCount.

ArgumentOutOfRangeException

GetItem

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

Vea también

Tareas

Patrones de control compatibles en un proveedor de UI Automation

Utilizar el almacenamiento en caché en la UI Automation

Conceptos

Información general acerca de los patrones de control de automatización de la interfaz de usuario

Patrones de controles de UI Automation para clientes

Implementar el patrón de control GridItem de UI Automation

Información general sobre el árbol de la UI Automation