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.
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.
Ejemplo de asignación de cadenas de muestra de color
- Un control debe tener el valor de su IsEnabledProperty establecido en
true
y el valor de IsReadOnlyProperty establecido enfalse
antes de permitir una llamada a SetValue.
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
- 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
- Ejemplo de Insert Text de ValuePattern
- Información general sobre el árbol de la UI Automation
- Utilizar el almacenamiento en caché en la UI Automation