Prise en charge d'UI Automation pour le type de contrôle Button
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 fournit des informations sur la prise en charge d’UI Automation pour le type de contrôle Button. Dans UI Automation, un type de contrôle est un ensemble de conditions qu’un contrôle doit respecter pour pouvoir utiliser la propriété ControlTypeProperty. Les conditions incluent des instructions spécifiques pour l’arborescence UI Automation, les valeurs de propriété UI Automation, les modèles de contrôle et les événements UI Automation.
Un bouton est un objet avec lequel un utilisateur interagit pour effectuer une action. Tel est le cas des boutons OK et Annuler d’une boîte de dialogue. Le contrôle button est un contrôle simple à exposer, car il correspond à une commande unique que l’utilisateur veut exécuter.
Les sections suivantes définissent l’arborescence, les propriétés, les modèles de contrôle et les événements UI Automation nécessaires pour le type de contrôle Button. Les exigences UI Automation s’appliquent à tous les contrôles Button, que ce soit Windows Presentation Foundation (WPF), Win32 ou Windows Forms.
Arborescence UI Automation obligatoire
Le tableau suivant représente l’affichage de contrôle et l’affichage du contenu de l’arborescence UI Automation relative aux contrôles Button. En outre, il décrit ce que peut contenir chaque affichage. Pour plus d’informations sur l’arborescence UI Automation, consultez Vue d’ensemble de l’arborescence UI Automation.
Affichage de contrôle | Affichage de contenu |
---|---|
Bouton - Image (0 ou plus) - Texte (0 ou plus) |
Bouton |
Propriétés UI Automation obligatoires
Le tableau suivant répertorie les propriétés UI Automation dont la valeur ou la définition est particulièrement adaptée aux contrôles qui implémentent le type de contrôle Button (tels que les contrôles Button). Pour plus d’informations sur les propriétés UI Automation, consultez Propriétés UI Automation pour les clients.
Propriété UI Automation | Valeur | Notes |
---|---|---|
AcceleratorKeyProperty | Consultez les remarques. | Le contrôle Button doit généralement prendre en charge une touche d’accès rapide pour permettre à un utilisateur final d’effectuer rapidement l’action qu’elle représente à partir du clavier. |
AutomationIdProperty | Consultez les remarques. | La valeur de cette propriété doit être unique dans tous les contrôles d’une application. |
BoundingRectangleProperty | Consultez les remarques. | Rectangle externe qui contient l’ensemble du contrôle. |
ClickablePointProperty | Consultez les remarques. | Pris en charge s’il existe un rectangle englobant. Si les points du rectangle englobant ne sont pas tous interactifs et que vous effectuez un test de positionnement spécialisé, vous devez remplacer et fournir un point interactif. |
ControlTypeProperty | Bouton | Cette valeur est identique pour toutes les infrastructures d’interface utilisateur. |
HelpTextProperty | Consultez les remarques. | Le texte d’aide peut indiquer ce que sera le résultat final de l’activation du bouton. Il s’agit généralement du même type d’information qui est présenté via une info-bulle. |
IsContentElementProperty | True | Le contrôle Button doit toujours être du contenu. |
IsControlElementProperty | True | Le contrôle Button doit toujours être un contrôle. |
IsKeyboardFocusableProperty | Consultez les remarques. | Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété. |
LabeledByProperty | Null |
Les contrôles Button sont étiquetés automatiquement par leur contenu. |
LocalizedControlTypeProperty | « bouton » | Chaîne localisée correspondant au type de contrôle Button. |
NameProperty | Consultez les remarques. | Le nom du contrôle button est le texte qui lui sert d’étiquette. Chaque fois qu’une image sert d’étiquette à un bouton, un texte de remplacement doit être fourni pour la propriété Name du bouton. |
Modèles de contrôle UI Automation obligatoires
Le tableau suivant répertorie les modèles de contrôle UI Automation qui doivent être pris en charge par tous les contrôles Button. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview.
Modèle de contrôle | Support | Notes |
---|---|---|
IInvokeProvider | Consultez les remarques. | Tous les boutons doivent prendre en charge le modèle de contrôle Invoke ou le modèle de contrôle Toggle. Invoke est pris en charge quand le bouton exécute une commande à la demande de l’utilisateur. Cette commande correspond à une seule opération, par exemple, Couper, Copier, Coller ou Supprimer. |
IToggleProvider | Consultez les remarques. | Tous les boutons doivent prendre en charge le modèle de contrôle Invoke ou le modèle de contrôle Toggle. Toggle est pris en charge si le bouton peut passer par une série de trois états, au maximum. En général, cela est considéré comme un commutateur d’activation/désactivation pour des fonctionnalités spécifiques. |
IExpandCollapseProvider | Consultez les remarques. | Quand un bouton est hébergé en tant qu’enfant d’un bouton partagé, le bouton enfant peut prendre en charge le modèle ExpandCollapse au lieu du modèle Invoke ou Toggle. Le modèle ExpandCollapse permet d’ouvrir ou de fermer un menu ou une autre structure secondaire associée à l’élément bouton. |
Événements UI Automation obligatoires
Le tableau suivant répertorie les événements UI Automation qui doivent être pris en charge par tous les contrôles Button. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.
Événement UI Automation | Support | Notes |
---|---|---|
AutomationFocusChangedEvent | Obligatoire | None |
Événement de modification de propriétéBoundingRectangleProperty | Obligatoire | None |
Événement de modification de propriétéIsOffscreenProperty | Obligatoire | None |
Événement de modification de propriétéIsEnabledProperty | Obligatoire | None |
Événement de modification de propriétéNameProperty | Obligatoire | None |
StructureChangedEvent | Obligatoire | Aucun |
InvokedEvent | Dépend | Si le contrôle prend en charge le modèle de contrôle Invoke, il doit prendre en charge cet événement. |
Événement de modification de propriétéToggleStateProperty | Dépend | Si le contrôle prend en charge le modèle de contrôle Toggle, il doit prendre en charge cet événement. |