Partager via


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

RemarqueRemarque

Cette documentation s'adresse aux développeurs .NET Framework qui veulent 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 (page éventuellement en anglais).

Cette rubrique présente les conventions et instructions pour l'implémentation de IValueProvider, y compris des informations sur les événements et les propriétés. Des liens vers des références supplémentaires sont référencés à la fin de la rubrique.

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

Cette rubrique comprend les sections suivantes.

  • Conventions et instructions de l'implémentation
  • Membres requis pour IValueProvider
  • Exceptions
  • Rubriques connexes

Conventions et instructions de l'implémentation

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

  • Les contrôles tels que ListItem et TreeItem doivent prendre en charge ValuePattern si la valeur de chaque élément peut être modifiée, quel que soit le mode édition actuel du contrôle. Le contrôle parent doit également prendre en charge ValuePattern si les éléments enfants peuvent être modifiés.

Exemple d'un élément de liste modifiable

Élément de liste modifiable.

  • Les contrôles d'édition sur une seule ligne prennent en charge l'accès par programme à leur contenu en implémentant IValueProvider. Toutefois, les contrôles d'édition multilignes n'implémentent pas IValueProvider ; en revanche, ils fournissent 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 interne RGB équivalente.

Exemple du mappage de la chaîne d'un échantillon de couleur

Sélecteur de couleurs avec jaune en surbrillance.

Membres requis pour IValueProvider

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

Membres requis

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

Condition

InvalidOperationException

SetValue

  • Si des informations spécifiques aux paramètres régionaux sont passées à un contrôle dans un format incorrect, tel qu'une date mise en forme de manière incorrecte.

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

  • En cas de tentative de manipulation d'un contrôle non activé.

Voir aussi

Tâches

Prendre en charge des modèles de contrôle dans un fournisseur UI Automation

ValuePattern Insert Text Sample

Utiliser la mise en cache dans UI Automation

Concepts

Vue d'ensemble des modèles de contrôle UI Automation

Modèles de contrôle UI Automation pour les clients

Vue d'ensemble de l'arborescence UI Automation