Prise en charge d’UI Automation pour le type de contrôle TreeItem
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 TreeItem. 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 la structure d’arborescence, les valeurs de propriété et les modèles de contrôle UI Automation.
Le contrôle de type TreeItem représente un nœud dans un conteneur d’arborescence. Chaque nœud peut contenir d’autres nœuds, appelés nœuds enfants. Vous pouvez afficher les nœuds parents, ou nœuds qui contiennent des nœuds enfants, sous forme développée ou réduite.
Les sections suivantes définissent la structure d’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 TreeItem. Les exigences UI Automation s’appliquent à tous les contrôles d’élément d’arborescence, 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 concernant les contrôles d’élément d’arborescence. 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 |
---|---|
TreeItem - CheckBox (0 ou 1) - Image (0 ou 1) - Button (0 ou 1) - TreeItem (0 ou plus) |
TreeItem - TreeItem (0 ou plus) |
Les contrôles d’élément d’arborescence peuvent comporter zéro ou plusieurs enfants d’élément d’arborescence dans l’affichage du contenu de l’arborescence UI Automation. Si le contrôle d’élément d’arborescence a d’autres fonctionnalités que celles exposées dans les modèles de contrôle répertoriés ci-dessous, le contrôle doit être basé sur le type de contrôle DataItem.
Les éléments d’arborescence réduits n’apparaissent pas dans l’affichage de contrôle ou l’affichage du contenu tant qu’ils ne sont pas développés et visibles (ou tant qu’ils ne peuvent pas être l’objet d’un défilement).
L’affichage de contrôle peut contenir des détails supplémentaires pour un contrôle, notamment une image ou un bouton associé. Par exemple, un élément en mode Plan peut contenir une image, ainsi qu’un bouton pour développer ou réduire le plan. Ces objets de détail n’apparaissent pas dans l’affichage du contenu, car les informations sont déjà représentées par l’élément d’arborescence parent. Les éléments d’arborescence qui défilent au-delà de l’écran apparaissent dans les affichages de contrôle et du contenu de l’arborescence UI Automation. En outre, IsOffscreenProperty doit avoir la valeur true.
Propriétés UI Automation obligatoires
Le tableau suivant liste les propriétés UI Automation dont la valeur ou la définition est particulièrement pertinente pour les contrôles de liste. 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 |
---|---|---|
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. | Cette propriété doit retourner un emplacement de l’élément qui oblige ce dernier à changer d’état de sélection ou à prendre le focus. |
ControlTypeProperty | TreeItem | Cette valeur est identique pour toutes les infrastructures d’interface utilisateur. |
IsContentElementProperty | True | Le contrôle de liste est toujours inclus dans l’affichage du contenu de l’arborescence UI Automation. |
IsControlElementProperty | True | Le contrôle de liste est toujours inclus dans l’affichage de contrôle de l’arborescence UI Automation. |
IsOffscreenProperty | Consultez les remarques. | Cette propriété est définie pour indiquer le moment où un contrôle d’élément d’arborescence défile au-delà de l’écran. |
IsKeyboardFocusableProperty | Consultez les remarques. | Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété. |
ItemTypeProperty | Consultez les remarques. | Si le contrôle d’élément d’arborescence utilise une icône visuelle pour indiquer qu’il s’agit d’un type d’objet particulier, cette propriété doit être prise en charge et indiquer à quoi correspond l’objet. |
LabeledByProperty | Null |
Les contrôles d’élément d’arborescence créent eux-mêmes leurs étiquettes. |
LocalizedControlTypeProperty | "élément d’arborescence" | Chaîne localisée correspondant au type de contrôle TreeItem. |
NameProperty | Consultez les remarques. | Cette propriété expose le texte affiché pour chaque contrôle d’élément d’arborescence. |
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 les contrôles de liste. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview.
Modèle de contrôle/Propriété de modèle | Prise en charge/valeur | Notes |
---|---|---|
IInvokeProvider | Dépend | Implémentez ce modèle de contrôle si l’élément d’arborescence dispose d’une commande distincte pouvant être actionnée. |
IExpandCollapseProvider | Oui | Tous les éléments d’arborescence peuvent être développés ou réduits. |
ExpandCollapseState | Nœud développé, réduit ou terminal | Les éléments d’arborescence sont des nœuds terminaux quand ils ne sont pas développés ou réduits. |
IScrollItemProvider | Dépend | Implémentez ce modèle de contrôle si le conteneur d’arborescence prend en charge le modèle de contrôle Scroll. |
ISelectionItemProvider | Dépend | Implémentez ce modèle de contrôle s’il est possible de conserver une sélection active quand l’utilisateur retourne au conteneur d’arborescence. |
SelectionContainer | Oui | Cette propriété expose le même conteneur pour tous les éléments du conteneur. |
IToggleProvider | Dépend | Implémentez ce modèle de contrôle si une case à cocher est associée à l’élément d’arborescence. |
É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 d’élément d’arborescence. 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éIsEnabledProperty | Obligatoire | None |
Événement de modification de propriétéIsOffscreenProperty | Obligatoire | None |
Événement de modification de propriétéItemStatusProperty | Dépend | None |
Événement de modification de propriétéNameProperty | Obligatoire | None |
StructureChangedEvent | Obligatoire | None |
Événement de modification de propriétéExpandCollapseStateProperty | Obligatoire | Aucun |
InvokedEvent | Dépend | None |
Événement de modification de propriétéCurrentViewProperty | Dépend | Aucun |
ElementAddedToSelectionEvent | Dépend | Aucun |
ElementRemovedFromSelectionEvent | Dépend | Aucun |
ElementSelectedEvent | Dépend | None |
Événement de modification de propriétéToggleStateProperty | Dépend | None |
Événement de modification de propriétéValueProperty | Dépend | None |