Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
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.
Exemple de mappage d’une chaîne d’échantillons de couleurs
- Un contrôle doit avoir sa IsEnabledProperty définie à
true
et son IsReadOnlyProperty défini àfalse
avant d’autoriser un appel à SetValue.
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
- Vue d'ensemble des modèles de contrôle UI Automation
- Prendre en charge des modèles de contrôle dans un fournisseur UI Automation
- Modèles de contrôle UI Automation pour les clients
- Exemple d'insertion de texte avec ValuePattern
- Vue d’ensemble de l’arborescence UI Automation
- Utiliser la mise en cache dans UI Automation