Partager via


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

Remarque

Cette documentation est destinée 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 informations les plus récentes 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. Les liens vers des références supplémentaires sont répertoriés à la fin de la rubrique.

Le ValuePattern modèle de contrôle est utilisé pour prendre en charge les contrôles qui ont une valeur intrinsèque qui ne couvre pas une plage et qui peuvent être représentés sous forme de chaîne. Cette chaîne peut être modifiable, en fonction du contrôle et de ses paramètres. Pour obtenir des exemples de contrôles qui implémentent ce modèle, consultez Mappage des modèles de contrôle pour les clients UI Automation.

Directives et conventions de mise en œuvre

Lors de l’implémentation du modèle de contrôle Valeur, notez les instructions et conventions suivantes :

  • Les contrôles tels que ListItem et TreeItem doivent prendre en charge ValuePattern si la valeur de l’un des éléments est modifiable, quel que soit le 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 IValueProviderpas ; au lieu de cela, ils fournissent l’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 de 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 du 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 mis en surbrillance jaune. Exemple de mappage d’une chaîne d’échantillons de couleurs

Membres obligatoires pour IValueProvider

Les propriétés et méthodes suivantes sont requises pour l’implémentation IValueProvider.

Membres obligatoires Type de membre Remarques
IsReadOnlyProperty Propriété Aucun
ValueProperty Propriété Aucun
SetValue Méthode Aucun

Exceptions

Les fournisseurs doivent lever les exceptions suivantes.

Type d’exception État
InvalidOperationException SetValue

- Si des informations spécifiques aux paramètres régionaux sont transmises à un contrôle dans un format incorrect, tel qu’une date incorrectement mise en forme.
ArgumentException SetValue

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

- Lorsqu’une tentative est effectuée pour manipuler un contrôle qui n’est pas activé.

Voir aussi