Prise en charge d'UI Automation pour le type de contrôle ScrollBar

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 ScrollBar. 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 d’IU Automation.

Les contrôles de barre de défilement permettent à un utilisateur de faire défiler le contenu d’une fenêtre ou d’un conteneur d’élément. Le contrôle est constitué d’un ensemble de boutons et d’un contrôle curseur de position.

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 au type de contrôle ScrollBar. Les exigences UI Automation s’appliquent à tous les contrôles de liste, 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 de barre de défilement. En outre, il décrit ce que peut contenir chaque affichage. Pour plus d’informations sur l’arborescence de l’IU Automation, consultez Vue d’ensemble de l’arborescence de l’IU Automation.

Affichage de contrôle Affichage de contenu
ScrollBar

- Button (2 ou 4)
- Thumb (0 ou 1)
Non applicable. Le contrôle de barre de défilement n’a pas de contenu.

Le contrôle de barre de défilement a toujours entre trois et cinq enfants. Dans la mesure où la sous-arborescence a plusieurs contrôles bouton, vous devez définir une valeur AutomationIdProperty spécifique pour chaque élément afin de les rendre détectables pour les outils d’automatisation des tests.

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 de barre de défilement. Notez qu’un contrôle de barre de défilement n’a jamais de contenu. Ses fonctionnalités sont exposées via le modèle de contrôle Scroll, qui est pris en charge sur le conteneur faisant l’objet d’un défilement.

Pour plus d’informations sur les propriétés de l’IU Automation, consultez Propriétés de l’IU 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.
IsKeyboardFocusableProperty Consultez les remarques. Si le contrôle peut recevoir le focus clavier, il doit prendre en charge cette propriété.
NameProperty Null Le contrôle de barre de défilement n’a pas d’éléments de contenu. Par ailleurs, la définition de NameProperty n’est pas obligatoire.
ClickablePointProperty Non numérique. Le contrôle de barre de défilement n’a pas de points interactifs.
LabeledByProperty Null Les barres de défilement n’ont pas d’étiquettes.
ControlTypeProperty ScrollBar Cette valeur est la même pour toutes les infrastructures. Les barres de défilement qui fonctionnent en tant que curseurs doivent utiliser le type de contrôle Slider.
LocalizedControlTypeProperty "barre de défilement" Chaîne localisée correspondant au type de contrôle Button.
IsContentElementProperty False Le contrôle de barre de défilement n’est jamais un élément de contenu. Si la barre de défilement est un contrôle autonome, ce dernier doit respecter le type de contrôle Slider, et retourner ControlType.Slider pour la propriété ControlType .
IsControlElementProperty True La barre de défilement doit toujours être un contrôle.
OrientationProperty True Le contrôle de barre de défilement doit toujours exposer son orientation horizontale ou verticale.

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 barre de défilement. Pour plus d’informations sur les modèles de contrôle, consultez UI Automation Control Patterns Overview. Notez que si une barre de défilement est utilisée comme contrôle uniquement pour la manipulation de la souris, elle ne prend pas en charge les modèles de contrôle. Si elle est utilisée comme contrôle de curseur dans une application, le type de contrôle Slider doit lui être attribué.

Modèle de contrôle Support Notes
IScrollProvider Jamais Le modèle de contrôle Scroll n’est jamais directement pris en charge sur la barre de défilement.
IRangeValueProvider Dépend Cette fonctionnalité doit être prise en charge uniquement si le modèle de contrôle Scroll n’est pas pris en charge sur le conteneur comportant la barre de défilement.

É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 de barre de défilement. Pour plus d’informations sur les événements, consultez UI Automation Events Overview.

Événement UI Automation Prise en charge/valeur Notes
É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éHorizontallyScrollableProperty Jamais None
Événement de modification de propriétéHorizontalScrollPercentProperty Jamais None
Événement de modification de propriétéHorizontalViewSizeProperty Jamais None
Événement de modification de propriétéVerticalScrollPercentProperty Jamais None
Événement de modification de propriétéVerticallyScrollableProperty Jamais None
Événement de modification de propriétéVerticalViewSizeProperty Jamais None
Événement de modification de propriétéValueProperty Dépend None
AutomationFocusChangedEvent Obligatoire None
StructureChangedEvent Obligatoire None

Voir aussi