Compartir a través de


Implementación del patrón de control de valores de automatización de la interfaz de usuario

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 IValueProvider, incluida la información sobre eventos y propiedades. Los vínculos a referencias adicionales se enumeran al final del tema.

El ValuePattern patrón de control se usa 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, en función del control y de su configuración. Para obtener ejemplos de controles que implementan este patrón, 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 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 editable, independientemente del 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 un elemento de lista editable

  • Los controles de edición de una sola línea admiten el acceso a su contenido mediante programación al implementar IValueProvider. Sin embargo, los controles de edición de varias líneas 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 varias líneas, el control debe implementar ITextProvider. Sin embargo, ITextProvider no admite establecer el valor de un control.

  • IValueProvider no admite la recuperación de información de formato o valores de subcadena. Implemente ITextProvider en estos escenarios.

  • IValueProvider debe implementarse mediante controles como el control de selección Selector de colores de Microsoft Word (que 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 necesarios para IValueProvider

Se requieren las siguientes propiedades y métodos para implementar IValueProvider.

Miembros necesarios Tipo de miembro Notas
IsReadOnlyProperty Propiedad Ninguno
ValueProperty Propiedad Ninguno
SetValue Método Ninguno

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 un formato incorrecto, como una fecha mal formateada.
ArgumentException SetValue

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

- Cuando se intenta manipular un control que no está habilitado.

Consulte también