Partager via


Implémentation du modèle de contrôle Value d’UI Automation

Notes

Cette documentation s’adresse aux développeurs .NET Framework qui souhaitent utiliser les classes UI Automation managées définies dans l’espace de noms System.Windows.Automation. Pour obtenir les dernières informations sur UI Automation, consultez API Windows Automation : UI Automation.

Cette rubrique présente les conventions et recommandations à respecter pour implémenter IValueProvider, notamment des informations sur les événements et les propriétés. Des liens vers des références supplémentaires sont répertoriés à la fin de la rubrique.

Le modèle de contrôle ValuePattern est utilisé pour prendre en charge les contrôles qui ont une valeur intrinsèque ne couvrant pas de plage et qui peuvent être représentés sous forme de chaîne. Cette chaîne peut être modifiée, en fonction du contrôle et de ses paramètres. Pour obtenir des exemples de contrôles implémentant ce modèle, consultez Control Pattern Mapping for UI Automation Clients.

Conventions et directives d'implémentation

Quand vous implémentez le modèle de contrôle Value, notez les conventions et recommandations suivantes :

  • Les contrôles tels que ListItem et TreeItem doivent prendre en charge ValuePattern si la valeur d’un des éléments est modifiable, indépendamment du mode d’édition actuel du contrôle. Le contrôle parent doit également prendre en charge ValuePattern si les éléments enfants sont modifiables.

Élément de liste modifiable. Exemple d’élément de liste modifiable

  • Les contrôles d’édition sur une ligne prennent en charge l’accès par programmation à leur contenu en implémentant IValueProvider. Toutefois, les contrôles d’édition multilignes n’implémentent pas IValueProvider. Ils fournissent plutôt un accès à leur contenu en implémentant ITextProvider.

  • Pour récupérer le contenu textuel d’un contrôle d’édition multiligne, le contrôle doit implémenter ITextProvider. Toutefois, ITextProvider ne prend pas en charge la définition de la valeur d’un contrôle.

  • IValueProvider ne prend pas en charge la récupération des informations de mise en forme ou des valeurs d’une sous-chaîne. Implémentez ITextProvider dans ces scénarios.

  • IValueProvider doit être implémenté par des contrôles tels que le contrôle de sélection Sélecteur de couleurs de Microsoft Word (illustré ci-dessous), qui prend en charge le mappage de chaînes entre une valeur de couleur (par exemple "jaune") et une structure RVB interne équivalente.

Sélecteur de couleurs avec jaune en surbrillance. Exemple de mappage d’une chaîne d’échantillons de couleurs

Membres obligatoires pour IValueProvider

Les propriétés et méthodes suivantes sont nécessaires à l'implémentation d' IValueProvider.

Membres nécessaires Type de membre Notes
IsReadOnlyProperty Propriété Aucun
ValueProperty Propriété Aucun
SetValue Méthode Aucun

Exceptions

Les fournisseurs doivent lever les exceptions suivantes.

Type d'exception Condition
InvalidOperationException SetValue

- Si des informations spécifiques aux paramètres régionaux sont passées à un contrôle dans un format incorrect, par exemple une date ayant un format incorrect.
ArgumentException SetValue

- Si une nouvelle valeur ne peut pas être convertie d’une chaîne en un format reconnu par le contrôle.
ElementNotEnabledException SetValue

- Quand une tentative de manipulation d’un contrôle non activé est effectuée.

Voir aussi