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, vea Asignación de patrones de control para clientes de Automatización de interfaz de usuario.
Directrices y convenciones de implementación
Al implementar el patrón de control Selection Item, 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 |
---|---|---|
CanSelectMultiple | Propiedad | None |
IsSelectionRequired | Propiedad | None |
GetSelection | Método | None |
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 el resultado de Select, AddToSelectiono RemoveFromSelection es un elemento seleccionado único, se debe generar un ElementSelectedEvent ; en caso contrario, envíe ElementAddedToSelectionEvent/ ElementRemovedFromSelectionEvent según sea adecuado.
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 en un contenedor de selección múltiple donde IsSelectionRequiredProperty = true y solo hay un elemento seleccionado.- AddToSelection en un contenedor de selección única donde CanSelectMultipleProperty = false y ya hay otro elemento seleccionado. |
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 controles de UI Automation 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 UI Automation
- Ejemplo de proveedor de fragmentos