Implementar el patrón de control Window 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 IWindowProvider, incluida la información sobre las propiedades, los métodos y los eventos de WindowPattern . Al final del tema se ofrecen vínculos a referencias adicionales.

El patrón de control WindowPattern se utiliza para admitir controles que ofrecen funcionalidad fundamental basada en la ventana dentro de una interfaz gráfica de usuario tradicional (GUI). Entre los ejemplos de controles que deben implementar este patrón de control se incluyen las ventanas de la aplicación de nivel superior, las ventanas secundarias de interfaz de múltiples documentos (MDI), los controles de panel de división que se pueden cambiar de tamaño, los cuadros de diálogo modales y las ventanas de globo de ayuda.

Directrices y convenciones de implementación

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

  • Para admitir la capacidad de modificar el tamaño de la ventana y la posición de la pantalla mediante Automatización de la interfaz de usuario, un control debe implementar ITransformProvider además de IWindowProvider.

  • Los controles que contienen barras de título y elementos de barra de título que permiten que el control se mueva, cambie de tamaño, se maximice, minimice o se cierre son normalmente necesarios para implementar IWindowProvider.

  • Los controles como los elementos emergentes de información sobre herramientas y las listas desplegables de menús o cuadros combinados normalmente no implementan IWindowProvider.

  • Las ventanas de globo de ayuda se diferencian de los elementos emergentes de información sobre herramientas básicos en el aprovisionamiento de un botón de cierre de tipo ventana.

  • El modo de pantalla completa no es compatible con IWindowProvider, ya que es una característica específica de una aplicación y no es el comportamiento de ventana típico.

Miembros necesarios para IWindowProvider

Para la interfaz de IWindowProvider, se requieren los siguientes métodos, eventos y propiedades.

Miembro requerido Tipo de miembro Notas
InteractionState Propiedad None
IsModal Propiedad None
IsTopmost Propiedad None
Maximizable Propiedad None
Minimizable Propiedad None
VisualState Propiedad None
Close Método None
SetVisualState Método None
WaitForInputIdle Método None
WindowClosedEvent Evento None
WindowOpenedEvent Evento None
WindowInteractionState Evento No se garantiza que sea ReadyForUserInteraction

Excepciones

Los proveedores deben producir las siguientes excepciones.

Tipo de excepción Condición
InvalidOperationException SetVisualState

- Cuando un control no admite un comportamiento solicitado.
ArgumentOutOfRangeException WaitForInputIdle

- Cuando el parámetro no es un número válido.

Consulte también