Implementación del patrón de control Scroll de UI Automation
Nota |
---|
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. |
En este tema se presentan las directrices y convenciones de implementación de IScrollProvider, incluida la información acerca de eventos y propiedades. Los vínculos a referencias adicionales se enumeran al final del tema.
El patrón de control ScrollPattern se usa para admitir controles que actúan como contenedores desplazables para colecciones de objetos secundarios. No es necesario que el control use barras de desplazamiento para que admita la funcionalidad de desplazamiento, aunque normalmente es así.
Ejemplo de control de desplazamiento que no usa barras de desplazamiento
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 necesarios para IScrollProvider
- Excepciones
- Temas relacionados
Directrices y convenciones de implementación
Al implementar el patrón de control Scroll, tenga en cuenta las directrices y convenciones siguientes:
Los elementos secundarios de este control deben implementar IScrollItemProvider.
Las barras de desplazamiento de un control contenedor no admiten el patrón de control ScrollPattern. En su lugar, deben admitir el patrón de control RangeValuePattern.
Cuando el desplazamiento se mide en porcentaje, todos los valores o cantidades relacionados con la graduación del desplazamiento deben normalizarse a un intervalo de 0 a 100.
HorizontallyScrollableProperty y VerticallyScrollableProperty no dependen de IsEnabledProperty.
Si HorizontallyScrollableProperty = false, entonces HorizontalViewSizeProperty debería establecerse en 100% y HorizontalScrollPercentProperty debería establecerse en NoScroll. De igual forma, si VerticallyScrollableProperty = false, entonces VerticalViewSizeProperty debería establecerse en 100 por cien y VerticalScrollPercentProperty debería establecerse en NoScroll. Esto permite que un cliente de Automatización de la interfaz de usuario use estos valores de propiedad en el método SetScrollPercent, evitando una condición de carrera si se activa una dirección a la que el cliente no le interesa desplazarse.
La propiedad HorizontalScrollPercent es específica de la configuración regional. HorizontalScrollPercent = 100.0 debe establecer la posición de desplazamiento del control en el valor equivalente a su posición más a la derecha para idiomas como el inglés, que se leen de izquierda a derecha. Alternativamente, para los idiomas como el árabe, que se leen de derecha a izquierda, HorizontalScrollPercent = 100.0 debe establecer la posición de desplazamiento en la posición situada más a la izquierda.
Miembros necesarios para IScrollProvider
Los siguientes métodos y propiedades son necesarios para implementar IScrollProvider.
Miembro obligatorio |
Tipo de miembro |
Notas |
---|---|---|
Propiedad |
Ninguno |
|
Propiedad |
Ninguno |
|
Propiedad |
Ninguno |
|
Propiedad |
Ninguno |
|
Propiedad |
Ninguno |
|
Propiedad |
Ninguno |
|
Método |
Ninguno |
|
Método |
Ninguna |
Este patrón de control no tiene eventos asociados.
Excepciones
Los proveedores deben iniciar las excepciones siguientes.
Tipo de excepción |
Condition |
---|---|
Scroll inicia esta excepción si un control admite valores SmallIncrement exclusivamente para el desplazamiento horizontal o vertical, pero se pasa un valor LargeIncrement. |
|
SetScrollPercent inicia esta excepción cuando se pasa un valor que no se puede convertir en double. |
|
SetScrollPercent inicia esta excepción cuando se pasa un valor mayor que 100 o menor que 0 (excepto -1, que es equivalente a NoScroll). |
|
Scroll y SetScrollPercent inician esta excepción cuando se intenta realizar un desplazamiento en una dirección no admitida. |
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