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).
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
- Información general acerca de los patrones de control de UI Automation
- Patrones de control compatibles en un proveedor de UI Automation
- 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
- Utilizar el almacenamiento en caché en la UI Automation