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.
Los productos de tecnología de asistencia y los scripts de prueba navegan por el árbol de automatización de la interfaz de usuario para recopilar información sobre la interfaz de usuario (UI) y sus elementos.
Dentro del árbol de automatización de la interfaz de usuario hay un elemento raíz (RootElement) que representa el escritorio actual y cuyos elementos secundarios representan las ventanas de la aplicación. Cada uno de estos elementos secundarios puede contener elementos que representan partes de la interfaz de usuario, como menús, botones, barras de herramientas y cuadros de lista. Estos elementos a su vez pueden contener elementos como elementos de lista.
El árbol de automatización de la interfaz de usuario no es una estructura fija y rara vez se ve en su totalidad porque podría contener miles de elementos. Las partes de ella se crean a medida que son necesarias y pueden someterse a cambios a medida que se agregan, mueven o quitan elementos.
Los proveedores de automatización de la interfaz de usuario admiten el árbol de automatización de la interfaz de usuario implementando la navegación entre los elementos de un fragmento, que consta de una raíz (normalmente hospedada en una ventana) y un subárbol. No obstante, a los proveedores no les preocupa la navegación entre un control y otro. Esto se administra mediante el núcleo de automatización de la interfaz de usuario mediante información de los proveedores de ventanas predeterminados.
Vistas del árbol de automatización
El árbol de automatización de la interfaz de usuario se puede filtrar para crear vistas que contengan solo los AutomationElement objetos pertinentes para un cliente determinado. Este enfoque permite a los clientes personalizar la estructura presentada a través de la automatización de la interfaz de usuario a sus necesidades concretas.
El cliente tiene dos maneras de personalizar la vista: mediante el ámbito y el filtrado. El ámbito consiste en definir la extensión de la vista, empezando por un elemento base: por ejemplo, la aplicación podría querer encontrar solo los hijos directos del escritorio o todos los descendientes de una ventana de una aplicación. El filtrado define los tipos de elementos que se van a incluir en la vista.
Los proveedores de automatización de la interfaz de usuario admiten el filtrado mediante la definición de propiedades en elementos, incluidas las propiedades IsControlElementProperty y IsContentElementProperty.
La automatización de la interfaz de usuario proporciona tres vistas predeterminadas. Estas vistas se definen mediante el tipo de filtrado realizado; La aplicación define el ámbito de cualquier vista. Además, la aplicación puede aplicar otros filtros en las propiedades; por ejemplo, para incluir solo los controles habilitados en una vista de control.
Vista sin formato
La vista en bruto del árbol de automatización de la interfaz de usuario es el árbol completo de AutomationElement objetos para los que el escritorio actúa como raíz. La vista sin procesar sigue estrechamente la estructura mediante programación nativa de una aplicación y, por tanto, es la vista más detallada disponible. También es la base en la que se construyen las otras vistas del árbol. Dado que esta vista depende del marco de interfaz de usuario subyacente, la vista sin procesar de un botón WPF tendrá una vista sin procesar diferente a un botón Win32.
La vista sin procesar se obtiene buscando elementos sin especificar propiedades o usando el RawViewWalker para navegar por el árbol.
Vista de control
La vista de control del árbol de automatización de la interfaz de usuario simplifica la tarea del producto de tecnología de asistencia de describir la interfaz de usuario al usuario final y ayudar a ese usuario final a interactuar con la aplicación porque se asigna estrechamente a la estructura de la interfaz de usuario percibida por un usuario final.
La vista de control es un subconjunto de la vista bruta. Incluye todos los elementos de la interfaz de usuario de la vista principal que un usuario final entendería como interactivos o que contribuirían a la estructura lógica del control en la interfaz de usuario. Ejemplos de elementos de interfaz de usuario que contribuyen a la estructura lógica de la interfaz de usuario, pero no son interactivos por sí mismos, son contenedores de elementos como encabezados de vista de lista, barras de herramientas, menús y la barra de estado. Los elementos no interactivos usados simplemente con fines decorativos o de diseño no se verán en la vista de control. Un ejemplo es un panel que se usó solo para diseñar los controles en un cuadro de diálogo, pero no contiene información. Los elementos no interactivos que se verán en la vista de control son gráficos con información y texto estático en un cuadro de diálogo. Los elementos no interactivos que se incluyen en la vista de control no pueden recibir el foco del teclado.
La vista de control se obtiene buscando elementos que tengan la propiedad IsControlElement establecida en true
, o utilizando ControlViewWalker para navegar por el árbol.
Vista de contenido
La vista de contenido del árbol de automatización de la interfaz de usuario es un subconjunto de la vista de control. Contiene elementos de interfaz de usuario que transmiten la información verdadera en una interfaz de usuario, incluidos los elementos de interfaz de usuario que pueden recibir el foco del teclado y algún texto que no es una etiqueta en un elemento de interfaz de usuario. Por ejemplo, los valores de un cuadro combinado desplegable aparecerán en la vista de contenido porque representan la información que usa un usuario final. En la vista de contenido, un cuadro combinado y un cuadro de lista se representan como una colección de elementos de interfaz de usuario donde se puede seleccionar uno, o quizás más de uno, elemento. El hecho de que uno esté siempre abierto y el otro pueda expandirse y colapsarse es irrelevante en la visión del contenido porque está diseñada para mostrar los datos, o el contenido, que se presenta al usuario.
La vista de contenido se obtiene mediante la búsqueda de elementos que tengan la propiedad IsContentElement establecida en true
o mediante el elemento ContentViewWalker para navegar por el árbol.