Implémentation du modèle de contrôle Scroll d'UI Automation
Remarque |
---|
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 à respecter pour implémenter IScrollProvider, notamment des informations sur les événements et les propriétés. Des liens vers des références supplémentaires sont répertoriés à la fin de la rubrique.
Le modèle de contrôle ScrollPattern est utilisé pour prendre en charge un contrôle qui agit comme conteneur à défilement pour une collection d'objets enfants. Même si le contrôle n'a pas besoin d'utiliser des barres de défilement pour prendre en charge les fonctionnalités de défilement, c'est généralement le cas.
Exemple d'un contrôle de défilement qui n'utilise pas de barres de défilement
Pour obtenir des exemples de contrôles qui implémentent ce contrô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 IScrollProvider
- Exceptions
- Rubriques connexes
Conventions et instructions de l'implémentation
Lorsque vous implémentez le modèle de contrôle Scroll, notez les conventions et instructions suivantes :
Les enfants de ce contrôle doivent implémenter IScrollItemProvider.
Les barres de défilement d'un contrôle conteneur ne prennent pas en charge le modèle de contrôle ScrollPattern. Par contre, elles doivent prendre en charge le modèle de contrôle RangeValuePattern.
Lorsque le défilement est mesuré en pourcentage, toutes les valeurs ou quantités en rapport avec la graduation du défilement doivent être normalisées sur une plage de 0 à 100.
HorizontallyScrollableProperty et VerticallyScrollableProperty sont indépendantes de IsEnabledProperty.
Si HorizontallyScrollableProperty = false alors HorizontalViewSizeProperty doit avoir la valeur 100 % et HorizontalScrollPercentProperty, la valeur NoScroll. De la même façon, si VerticallyScrollableProperty = false alors VerticalViewSizeProperty doit avoir la valeur 100 % et VerticalScrollPercentProperty, la valeur NoScroll. Cela permet au client UI Automation d'utiliser ces valeurs de propriété dans la méthode SetScrollPercent en évitant une condition de concurrence critique si une direction de défilement qui n'intéresse pas le client est activée.
HorizontalScrollPercent est spécifique aux paramètres régionaux. Le paramètre HorizontalScrollPercent = 100.0 doit définir l'emplacement de défilement du contrôle sur l'équivalent le plus à droite pour les langues telles que l'anglais, qui sont lues de gauche à droite. Par ailleurs, pour les langues telles que l'arabe, qui sont lues de droite à gauche, le paramètre HorizontalScrollPercent = 100.0 doit définir l'emplacement de défilement sur la position la plus à gauche.
Membres requis pour IScrollProvider
Les propriétés et méthodes suivantes sont nécessaires à l'implémentation de IScrollProvider.
Membre requis |
Type de membre |
Remarques |
---|---|---|
Propriété |
Aucun |
|
Propriété |
Aucun |
|
Propriété |
Aucun |
|
Propriété |
Aucun |
|
Propriété |
Aucun |
|
Propriété |
Aucun |
|
Méthode |
Aucun |
|
Méthode |
Aucun |
Ce modèle de contrôle n'est associé à aucun événement.
Exceptions
Les fournisseurs doivent lever les exceptions suivantes.
Type d'exception |
Condition |
---|---|
Scroll lève cette exception si un contrôle prend en charge les valeurs SmallIncrement exclusivement pour le défilement horizontal ou vertical mais qu'une valeur LargeIncrement est passée. |
|
SetScrollPercent lève cette exception lorsqu'une valeur qui ne peut pas être convertie en double est passée. |
|
SetScrollPercent lève cette exception lorsqu'une valeur supérieure à 100 ou inférieure à 0 est passée (sauf -1, qui est équivalent à NoScroll). |
|
Scroll et SetScrollPercent lèvent cette exception lors d'une tentative de défilement dans une direction non prise en charge. |
Voir aussi
Tâches
Prendre en charge des modèles de contrôle dans un fournisseur UI Automation
Utiliser la mise en cache dans UI Automation
Concepts
Vue d'ensemble des modèles de contrôle UI Automation