Compatibilidad de UI Automation para el tipo de control TreeItem
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 ofrece información sobre la compatibilidad de Automatización de la interfaz de usuario con el tipo de control TreeItem. En Automatización de la interfaz de usuario, 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 Automatización de la interfaz de usuario, los valores de propiedad de Automatización de la interfaz de usuario y los patrones de control.
El tipo de control TreeItem representa un nodo dentro de un contenedor de árbol. Cada nodo puede contener otros nodos, llamados nodos secundarios. Los nodos primarios o los nodos que contienen nodos secundarios se pueden mostrar expandidos o contraídos.
En las secciones siguientes se definen la estructura de árbol, las propiedades, los patrones de control y los eventos para el tipo de control TreeItem de Automatización de la interfaz de usuario necesarios. Los requisitos de Automatización de la interfaz de usuario se aplican a todos los controles de elementos del árbol, ya sea Windows Presentation Foundation (WPF), Win32 o Windows Forms.
Estructura de árbol de Automatización de la interfaz de usuario necesaria
En la tabla siguiente se describe la vista de control y la vista de contenido del árbol de Automatización de la interfaz de usuario que pertenece a los controles de elemento del árbol y se describe lo que puede incluirse en cada vista. Para más información sobre el árbol de Automatización de la interfaz de usuario, vea Información general del árbol de Automatización de la interfaz de usuario.
Vista de control | Vista de contenido |
---|---|
TreeItem - CheckBox (0 o 1) - Image (0 o 1) - Button (0 o 1) - TreeItem (0 o más) |
TreeItem - TreeItem (0 o más) |
Los controles de elemento del árbol pueden tener cero o más elementos secundarios de árbol en la vista de contenido del árbol de Automatización de la interfaz de usuario. Si el control de elemento de árbol tiene una funcionalidad más allá de lo expuesto en los patrones de control que se muestran a continuación, el control debe basarse en el tipo de control Data Item.
Los elementos del árbol contraídos no se mostrarán en la vista de control ni en la vista de contenido hasta que estén visibles y expandidos (o se pueden desplazar en la vista).
La vista de control puede contener detalles adicionales de un control, entre los que se incluyen una imagen asociada o un botón. Por ejemplo, un elemento de una vista Esquema podría contener una imagen, así como un botón para expandir o contraer el esquema. Estos objetos de detalle no aparecen en la vista de contenido porque la información ya está representada por el elemento de árbol primario. Los elementos de árbol que se desplazan fuera de la pantalla aparecerán en las vistas de control y de contenido del árbol de Automatización de la interfaz de usuario y deben tener IsOffscreenProperty establecida en true.
Propiedades de Automatización de la interfaz de usuario necesarias
En la tabla siguiente se muestran las propiedades de Automatización de la interfaz de usuario cuyo valor o definición es especialmente relevante para los controles de lista. Para más información sobre las propiedades de automatización de la interfaz de usuario, vea Propiedades de Automatización de la interfaz de usuario Properties 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. |
ClickablePointProperty | Vea las notas. | Esta propiedad debe devolver una ubicación del elemento que hará que el elemento cambie el estado de selección u obtenga el foco. |
ControlTypeProperty | TreeItem | Este valor es el mismo para todos los marcos de trabajo de la interfaz de usuario. |
IsContentElementProperty | True | El control de lista siempre se incluye en la vista de contenido del árbol de Automatización de la interfaz de usuario. |
IsControlElementProperty | True | El control de lista siempre se incluye en la vista de control del árbol de Automatización de la interfaz de usuario. |
IsOffscreenProperty | Vea las notas. | Esta propiedad se establece para indicar cuando un control de elemento de árbol se desplaza fuera de la pantalla. |
IsKeyboardFocusableProperty | Vea las notas. | Si el control puede recibir el foco del teclado, debe admitir esta propiedad. |
ItemTypeProperty | Vea las notas. | Si el control de elemento de árbol utiliza un icono visual para indicar que es un tipo de objeto determinado, esta propiedad debe admitirse e indicar cuál es el objeto. |
LabeledByProperty | Null |
Los controles de elemento de árbol se etiquetan automáticamente. |
LocalizedControlTypeProperty | "elemento de árbol" | Cadena localizada que corresponde al tipo de control TreeItem. |
NameProperty | Vea las notas. | Esta propiedad expone el texto que se muestra para cada control de elemento de árbol. |
Patrones de control de Automatización de la interfaz de usuario necesarios
En la tabla siguiente se muestran los patrones de control de Automatización de la interfaz de usuario requeridos para ser admitidos por los controles de lista. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.
Patrón de control/Propiedad de patrón | Soporte técnico/valor | Notas |
---|---|---|
IInvokeProvider | Depende | Implemente este patrón de control si el elemento de árbol tiene un comando independiente y accionable. |
IExpandCollapseProvider | Sí | Todos los elementos del árbol se pueden expandir o contraer. |
ExpandCollapseState | Expanded, Collapsed o Leaf Node | Los elementos de árbol serán nodos hoja cuando no se expandan ni contraigan. |
IScrollItemProvider | Depende | Implemente este patrón de control si el contenedor de árbol admite el patrón de control Scroll. |
ISelectionItemProvider | Depende | Implemente este patrón de control si es posible tener una selección activa que se mantenga cuando el usuario vuelva al contenedor de árbol. |
SelectionContainer | Sí | Esta propiedad expondrá el mismo contenedor para todos los elementos de dentro del contenedor. |
IToggleProvider | Depende | Implemente este patrón de control si el elemento de árbol tiene una casilla asociada. |
Eventos de Automatización de la interfaz de usuario necesarios
En la siguiente tabla se muestra los eventos de Automatización de la interfaz de usuario requeridos para ser admitidos por todos los controles de elemento del árbol. Para más información sobre eventos, vea UI Automation Events Overview.
Evento de Automatización de la interfaz de usuario | Soporte técnico | Notas |
---|---|---|
AutomationFocusChangedEvent | Obligatorio | None |
Evento cambiado por propiedadBoundingRectangleProperty . | Obligatorio | None |
Evento cambiado por propiedadIsEnabledProperty . | Obligatorio | None |
Evento cambiado por propiedadIsOffscreenProperty . | Obligatorio | None |
Evento cambiado por propiedadItemStatusProperty . | Depende | None |
Evento cambiado por propiedadNameProperty . | Obligatorio | None |
StructureChangedEvent | Obligatorio | None |
Evento cambiado por propiedadExpandCollapseStateProperty . | Obligatorio | None |
InvokedEvent | Depende | None |
Evento cambiado por propiedadCurrentViewProperty . | Depende | None |
ElementAddedToSelectionEvent | Depende | None |
ElementRemovedFromSelectionEvent | Depende | None |
ElementSelectedEvent | Depende | None |
Evento cambiado por propiedadToggleStateProperty . | Depende | None |
Evento cambiado por propiedadValueProperty . | Depende | None |