Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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).
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
- Información general acerca de los patrones de control de UI Automation
- Patrones de control compatibles en un proveedor de UI Automation
- Patrones de control de automatización de la interfaz de usuario para clientes
- Implementación del patrón de control GridItem de automatización de la interfaz de usuario
- Información general sobre el árbol de la UI Automation
- Utilizar el almacenamiento en caché en la automatización de la interfaz de usuario