Compartir a través de


Implementar el patrón de control Selection de UI Automation

NotaNota

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 ISelectionProvider, 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 SelectionPattern se utiliza para admitir controles que actúan como contenedores para una colección de elementos secundarios seleccionables. Los elementos secundarios de este elemento deben implementar ISelectionItemProvider. 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 ISelectionProvider
  • Excepciones
  • Temas relacionados

Directrices y convenciones de implementación

Al implementar el patrón de control Selection, tenga en cuenta las directrices y convenciones siguientes:

  • Los controles que implementan ISelectionProvider permiten seleccionar un solo elemento secundario o varios. Por ejemplo, los cuadros de lista, las vistas de lista y las vistas de árbol admiten la selección múltiple, mientras que los cuadros combinados, los controles deslizantes y los grupos de botones de radio admiten la selección única.

  • Los controles que poseen un mínimo, un máximo y un intervalo continuo, como el control deslizante Volumen, deben implementar IRangeValueProvider en lugar de ISelectionProvider.

  • Los controles de selección única que administran controles secundarios que implementan IRawElementProviderFragmentRoot, como el control deslizante Resolución de pantalla del cuadro de diálogo Propiedades de pantalla o el control de selección Selector de color de Microsoft Word (se muestra más adelante), deben implementar ISelectionProvider; sus elementos secundarios deben implementar IRawElementProviderFragment e ISelectionItemProvider.

Ejemplo de asignación de cadenas de muestrario de color

Selector de color con amarillo resaltado.

  • Los menús no admiten SelectionPattern. Si está trabajando con elementos de menú que incluyen gráficos y texto (como los elementos del Panel de vista previa del menú Ver de Microsoft Outlook) y necesitan transmitir la información sobre su estado, debe implementar IToggleProvider.

Miembros necesarios para ISelectionProvider

Las propiedades, los métodos y los eventos siguientes son necesarios para la interfaz ISelectionProvider.

Miembros necesarios

Tipo

Notas

CanSelectMultiple

Propiedad

Debe admitir eventos de cambio de propiedad mediante AddAutomationPropertyChangedEventHandler y RemoveAutomationPropertyChangedEventHandler.

IsSelectionRequired

Propiedad

Debe admitir eventos de cambio de propiedad mediante AddAutomationPropertyChangedEventHandler y RemoveAutomationPropertyChangedEventHandler.

GetSelection

Método

Ninguna

InvalidatedEvent

Evento

Se provoca cuando una selección en un contenedor ha cambiado de forma importante y necesita enviar más eventos de adición y eliminación de los que permite la constante InvalidateLimit.

Las propiedades IsSelectionRequired y CanSelectMultiple pueden ser dinámicas. Por ejemplo, el estado inicial de un control podría no tener ningún elemento seleccionado de forma predeterminada, lo que indica que IsSelectionRequired es false. Sin embargo, una vez seleccionado un elemento, el control siempre debe tener al menos un elemento seleccionado. De igual modo, aunque es infrecuente, puede suceder que un control permita la selección de varios elementos en la inicialización pero después sólo permita realizar selecciones únicas.

Excepciones

Los proveedores deben iniciar las excepciones siguientes.

Tipo de excepción

Condition

ElementNotEnabledException

Si el control no está habilitado.

InvalidOperationException

Si control está oculto.

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

Patrones de controles de UI Automation para clientes

Implementación del patrón de control SelectionItem de UI Automation

Información general sobre el árbol de la UI Automation