Implementar el patrón de control Value 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 IValueProvidery se incluye información sobre eventos y propiedades. Al final del tema se ofrecen vínculos a referencias adicionales.

El patrón de control ValuePattern se utiliza para admitir controles que tienen un valor intrínseco que no abarca un intervalo y que se puede representar como una cadena. Esta cadena puede ser editable, dependiendo del control y su configuración. Para obtener ejemplos de controles que implementan este patrón, vea Control Pattern Mapping for UI Automation Clients.

Directrices y convenciones de implementación

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

  • Los controles como ListItem y TreeItem deben admitir ValuePattern si el valor de cualquiera de los elementos es modificable, sin tener en cuenta el modo de edición actual del control. El control primario también debe admitir ValuePattern si los elementos secundarios son modificables.

Elemento de lista editable. Ejemplo de elemento de lista editable

  • Los controles de edición de línea única admiten el acceso mediante programación a su contenido a través de la implementación de IValueProvider. Sin embargo, los controles de edición multilínea no implementan IValueProvider; en su lugar, proporcionan acceso a su contenido mediante la implementación de ITextProvider.

  • Para recuperar el contenido textual de un control de edición de multilínea, el control debe implementar ITextProvider. Sin embargo, ITextProvider no admite establecer el valor de un control.

  • IValueProvider no admite la recuperación de la información de formato ni los valores de subcadenas. Implemente ITextProvider en estos escenarios.

  • IValueProvider debe implementarse mediante controles, como el control de selección Selector de colores de Microsoft Word (se muestra a continuación), que admite la asignación de cadenas entre un valor de color (por ejemplo, "amarillo") y una estructura RGB interna equivalente.

Selector de colores con amarillo resaltado. Ejemplo de asignación de cadenas de muestra de color

Miembros requeridos para IValueProvider

Para implementar IValueProvider, se requieren las siguientes propiedades y métodos.

Miembros requeridos Tipo de miembro Notas
IsReadOnlyProperty Propiedad None
ValueProperty Propiedad None
SetValue Método None

Excepciones

Los proveedores deben producir las siguientes excepciones.

Tipo de excepción Condición
InvalidOperationException SetValue

- Si la información específica de la configuración regional se pasa a un control en formato incorrecto, como una fecha con formato incorrecto.
ArgumentException SetValue

- Si no se puede convertir un nuevo valor de una cadena a un formato que el control reconozca.
ElementNotEnabledException SetValue

- Si se realiza un intento de manipular un control que no está habilitado.

Consulte también