Implementación del patrón de control SelectionItem de UI Automation
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 presentan las directrices y convenciones para implementar ISelectionItemProvider, incluida la información sobre propiedades, métodos y eventos. Al final de la información general se proporcionan vínculos a referencias adicionales.
El patrón de control SelectionItemPattern se usa para admitir controles que actúan como elementos secundarios individuales y seleccionables de controles de contenedor que implementan ISelectionProvider. Para obtener ejemplos de controles que implementan el patrón de control SelectionItem, 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 de selección de elementos, tenga en cuenta las siguientes directrices y convenciones:
- 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 de Propiedades de pantalla , deben implementar ISelectionProvider y sus elementos secundarios deben implementar tanto IRawElementProviderFragment como ISelectionItemProvider.
Miembros requeridos para ISelectionItemProvider
Para implementar ISelectionItemProvider, se requieren las siguientes propiedades, métodos y eventos.
Miembros requeridos | Tipo de miembro | Notas |
---|---|---|
IsSelected | Propiedad | Ninguna |
SelectionContainer | Propiedad | Ninguna |
AddToSelection | Method | Ninguna |
RemoveFromSelection | Method | Ninguna |
Select | Method | Ninguna |
ElementSelectedEvent | Evento | Se genera cuando un cambio de selección da lugar a la selección de un único elemento. |
ElementAddedToSelectionEvent | Evento | Se genera cuando se agrega un elemento a un contenedor de selección múltiple. |
ElementRemovedFromSelectionEvent | Evento | Se genera cuando se quita un elemento de un contenedor de selección múltiple. |
InvalidatedEvent | Evento | Se produce cuando una selección de un contenedor ha cambiado de manera considerable y requiere el envío de más eventos ElementSelectedEvent y ElementRemovedFromSelectionEvent de lo que permite la constante InvalidateLimit . |
- Si una operación de Select, AddToSelectiono RemoveFromSelection da como resultado un solo elemento seleccionado, genere ElementSelectedEvent; De lo contrario, genere ElementAddedToSelectionEvent o ElementRemovedFromSelectionEvent según corresponda.
Excepciones
Los proveedores deben producir las siguientes excepciones.
Tipo de excepción | Condición |
---|---|
InvalidOperationException | Cuando se intenten cualquiera de las siguientes opciones: - RemoveFromSelection en un contenedor de selección única donde IsSelectionRequiredProperty = true y ya hay un elemento seleccionado.- RemoveFromSelection se invoca en un contenedor de selección múltiple donde se ha seleccionado IsSelectionRequiredProperty = true y solo hay un elemento seleccionado.- AddToSelection se llama en un contenedor de selección única donde ya están seleccionados CanSelectMultipleProperty = false y otro elemento. |
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
- Implementar el patrón de control Selection 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
- Ejemplo de proveedor de fragmentos