Compatibilidad de UI Automation para el tipo de control ScrollBar
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.
Este tema proporciona información sobre la compatibilidad de la UI Automation con el tipo de control ScrollBar. En UI Automation, un tipo de control es un conjunto de condiciones que un control debe cumplir para poder usar la propiedad ControlTypeProperty. Las condiciones incluyen directrices específicas para la estructura de árbol de UI Automation , los valores de propiedad de esta y los patrones de control.
Los controles de la barra de desplazamiento permiten a un usuario desplazarse por el contenido dentro de una ventana o contenedor de elementos. El control se compone de un conjunto de botones y un control thumb.
Las siguientes secciones definen la estructura de árbol de UI Automation, las propiedades, los patrones de control y los eventos necesarios para el tipo de control ScrollBar. Los requisitos de Automatización de la interfaz de usuario se aplican a todos los controles de lista, ya sea Windows Presentation Foundation (WPF), Win32 o Windows Forms.
Estructura de árbol de Automatización de la interfaz de usuario necesaria
La siguiente tabla muestra la vista de control y la vista de contenido del árbol de UI Automation que pertenece a los controles de la barra de desplazamiento y describe lo que puede contener cada vista. Para más información sobre el árbol de automatización de la interfaz de usuario, consulte Introducción al árbol de automatización de la interfaz de usuario.
Vista de control | Vista de contenido |
---|---|
ScrollBar - Button (2 o 4) - Thumb (0 o 1) |
No aplicable. El control de barra de desplazamiento no tiene contenido. |
El control de barra de desplazamiento siempre tiene de tres a cinco elementos secundarios. Dado que el subárbol tiene más de un control de botón, debe establecer un valor AutomationIdProperty específico para cada elemento para que sea reconocibles para herramientas de automatización de prueba.
Propiedades de Automatización de la interfaz de usuario necesarias
La siguiente tabla enumera las propiedades de UI Automation cuyo valor o definición es especialmente relevante para los controles de la barra de desplazamiento. Tenga en cuenta que un control de barra de desplazamiento tiene contenido; su funcionalidad se expone mediante el patrón de control Scroll, que se admite en el contenedor que se desplaza.
Para más información sobre las propiedades de automatización de la interfaz de usuario, consulte Propiedades de automatización de la interfaz de usuario para clientes.
Propiedad de automatización de interfaz de usuario | Valor | Notas |
---|---|---|
AutomationIdProperty | Vea las notas. | El valor de esta propiedad debe ser único en todos los controles de una aplicación. |
BoundingRectangleProperty | Vea las notas. | El rectángulo exterior que contiene el control completo. |
IsKeyboardFocusableProperty | Vea las notas. | Si el control puede recibir el foco del teclado, debe admitir esta propiedad. |
NameProperty | Null |
El control de barra de desplazamiento no tiene elementos de contenido y no es necesario establecer NameProperty . |
ClickablePointProperty | No es un número. | El control de barra de desplazamiento no tiene puntos interactivos. |
LabeledByProperty | Null |
Las barras de desplazamiento no tienen etiquetas. |
ControlTypeProperty | ScrollBar | Este valor es el mismo para todos los marcos de trabajo. Las barras de desplazamiento que funcionan como controles deslizantes deben usar el tipo de control Slider. |
LocalizedControlTypeProperty | "barra de desplazamiento" | Cadena localizada que se corresponde con el tipo de control Button. |
IsContentElementProperty | False | El control de barra de desplazamiento nunca es un elemento de contenido. Si la barra de desplazamiento es un control independiente, debe cumplir el tipo de control Slider y devolver ControlType.Slider para la propiedad ControlType . |
IsControlElementProperty | True | La barra de desplazamiento siempre debe ser un control. |
OrientationProperty | True | El control de barra de desplazamiento siempre debe exponer su orientación horizontal o vertical. |
Patrones de control de Automatización de la interfaz de usuario necesarios
La siguiente tabla enumera los patrones de control de UI Automation que deben ser soportados por los controles de la barra de desplazamiento. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview. Tenga en cuenta que cuando se usa una barra de desplazamiento solo como control para manipulación de mouse, no admite patrones de control. Si se usa como control deslizante dentro de una aplicación, se le debe proporcionar el tipo de control Slider.
Patrón de control | Soporte técnico | Notas |
---|---|---|
IScrollProvider | Nunca | El patrón de control Scroll nunca se admite directamente en la barra de desplazamiento. |
IRangeValueProvider | Depende | La compatibilidad de esta funcionalidad solo es necesaria si el patrón de control Scroll no se admite en el contenedor que tenga la barra de desplazamiento. |
Eventos de Automatización de la interfaz de usuario necesarios
La siguiente tabla enumera los eventos de UI Automation que deben ser soportados por todos los controles de la barra de desplazamiento. Para más información sobre los eventos, vea UI Automation Events Overview.
Evento de automatización de la interfaz de usuario | Soporte técnico/valor | Notas |
---|---|---|
Evento cambiado por propiedadBoundingRectangleProperty . | Obligatorio | None |
Evento cambiado por propiedadIsOffscreenProperty . | Obligatorio | None |
Evento cambiado por propiedadIsEnabledProperty . | Obligatorio | None |
Evento cambiado por propiedadHorizontallyScrollableProperty . | Nunca | None |
Evento cambiado por propiedadHorizontalScrollPercentProperty . | Nunca | None |
Evento cambiado por propiedadHorizontalViewSizeProperty . | Nunca | None |
Evento cambiado por propiedadVerticalScrollPercentProperty . | Nunca | None |
Evento cambiado por propiedadVerticallyScrollableProperty . | Nunca | None |
Evento cambiado por propiedadVerticalViewSizeProperty . | Nunca | None |
Evento cambiado por propiedadValueProperty . | Depende | None |
AutomationFocusChangedEvent | Obligatorio | None |
StructureChangedEvent | Obligatorio | None |