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.
En este tema se presentan instrucciones y convenciones para implementar ISelectionProvider, incluida información sobre eventos y propiedades. Los vínculos a referencias adicionales se enumeran al final del tema.
El patrón de control SelectionPattern se usa 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 control para clientes de automatización de la interfaz de usuario.
Directrices y convenciones de implementación
Al implementar el patrón de control Selection, tenga en cuenta las siguientes directrices y convenciones:
Los controles que implementan ISelectionProvider permiten la selección de elementos secundarios únicos o múltiples. Por ejemplo, el cuadro de lista, la vista de lista y la vista de árbol admiten varias selecciones, mientras que el cuadro combinado, el control deslizante y el grupo de botones de radio admiten una selección única.
Los controles que tienen un intervalo mínimo, máximo y continuo, como el control deslizante Volumen , deben implementarse IRangeValueProvider en lugar de ISelectionProvider.
Los controles de selección única que administran los controles secundarios que implementan IRawElementProviderFragmentRoot, como el control deslizante de Resolución de pantalla del cuadro de diálogo Propiedades de pantalla o el control de selección Selector de colores de Microsoft Word (se muestra a continuación), deben implementar ISelectionProvider; sus elementos secundarios deben implementar tanto IRawElementProviderFragment como ISelectionItemProvider.
Ejemplo de asignación de cadenas de muestra de color
- Los menús no admiten SelectionPattern. Si trabaja con elementos de menú que incluyen gráficos y texto (como los elementos del panel de vista previa en el menú Ver de Microsoft Outlook) y necesita transmitir el estado, debe implementar IToggleProvider.
Miembros necesarios para ISelectionProvider
Se requieren las siguientes propiedades, métodos y eventos para la ISelectionProvider interfaz.
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 | Ninguno |
InvalidatedEvent | Evento | Se genera cuando una selección en un contenedor ha cambiado significativamente y requiere generar más eventos de adición y eliminación que lo que permite la constante InvalidateLimit. |
Las IsSelectionRequired propiedades 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, después de seleccionar un elemento, el control siempre debe tener al menos un elemento seleccionado. De forma similar, en raras ocasiones, un control puede permitir que se seleccionen varios elementos en la inicialización, pero posteriormente solo se permitan realizar selecciones únicas.
Excepciones
Los proveedores deben producir las siguientes excepciones.
Tipo de excepción | Condición |
---|---|
ElementNotEnabledException | Si el control no está habilitado. |
InvalidOperationException | Si el control está oculto. |
Consulte también
- Información general acerca de los patrones de control de UI Automation
- Patrones de control compatibles en un proveedor de UI Automation
- Patrones de control de automatización de la interfaz de usuario para clientes
- Implementación del patrón de control SelectionItem de UI Automation
- Información general sobre el árbol de la UI Automation
- Utilizar el almacenamiento en caché en la automatización de la interfaz de usuario