Partager via


Implémentation du modèle de contrôle Selection d'UI Automation

RemarqueRemarque

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 ISelectionProvider, notamment des informations sur les événements et les propriétés. À la fin de la rubrique, vous trouverez des liens vers des références supplémentaires.

Le modèle de contrôle SelectionPattern est utilisé pour prendre en charge les contrôles qui agissent en tant que conteneurs pour une collection d'éléments enfants sélectionnables. Les enfants de cet élément doivent implémenter ISelectionItemProvider. Pour obtenir des exemples de contrôles qui implémentent ce modèle de 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 ISelectionProvider
  • Exceptions
  • Rubriques connexes

Conventions et instructions de l'implémentation

Lorsque vous implémentez le modèle de contrôle Selection, notez les conventions et instructions suivantes :

  • Les contrôles qui implémentent ISelectionProvider autorisent la sélection d'éléments enfants uniques ou multiples. Par exemple, les contrôles list box, list view et tree view prennent en charge les sélections multiples alors que combo box, slider et radio button group prennent en charge la sélection unique.

  • Les contrôles ayant une plage minimale, maximale et continue, comme le contrôle slider Volume, doivent implémenter IRangeValueProvider au lieu de ISelectionProvider.

  • Les contrôles à sélection unique qui gèrent des contrôles enfants qui implémentent IRawElementProviderFragmentRoot, tels que le curseur Résolution d'écran dans la boîte de dialogue Propriétés d'affichage ou le contrôle de sélection Sélecteur de couleurs de Microsoft Word (illustré ci-dessous), doivent implémenter ISelectionProvider, tandis que leurs enfants doivent implémenter IRawElementProviderFragment et ISelectionItemProvider.

Exemple du mappage de la chaîne d'un échantillon de couleur

Sélecteur de couleurs avec jaune en surbrillance.

  • Les menus ne prennent pas en charge SelectionPattern. Si vous utilisez des éléments de menu qui incluent des graphiques et du texte (tels que les éléments du Volet de visualisation dans le menu Affichage de Microsoft Outlook) et doivent transmettre l'état, vous devez implémenter IToggleProvider.

Membres requis pour ISelectionProvider

Les propriétés, méthodes et événements suivants sont requis pour l'interface ISelectionProvider.

Membres requis

Type

Remarques

CanSelectMultiple

Propriété

Doit prendre en charge les événements de modification de propriété à l'aide de AddAutomationPropertyChangedEventHandler et RemoveAutomationPropertyChangedEventHandler.

IsSelectionRequired

Propriété

Doit prendre en charge les événements de modification de propriété à l'aide de AddAutomationPropertyChangedEventHandler et RemoveAutomationPropertyChangedEventHandler.

GetSelection

Méthode

Aucun

InvalidatedEvent

Événement

Déclenché lorsqu'une sélection a changé de manière significative dans un conteneur et requiert l'envoi d'un plus grand nombre d'événements d'ajout et de suppression que la constante InvalidateLimit ne le permet.

Les propriétés IsSelectionRequired et CanSelectMultiple peuvent être dynamiques. Par exemple, l'état initial d'un contrôle peut ne présenter aucun élément sélectionné par défaut, indiquant que IsSelectionRequired a la valeur false. Toutefois, une fois qu'un élément a été sélectionné, le contrôle doit toujours avoir au moins un élément sélectionné. De la même façon, dans quelques rares cas, un contrôle peut autoriser la sélection de plusieurs éléments lors de l'initialisation, mais n'autoriser par la suite que des sélections uniques.

Exceptions

Les fournisseurs doivent lever les exceptions suivantes.

Type d'exception

Condition

ElementNotEnabledException

Si le contrôle n'est pas activé.

InvalidOperationException

Si le contrôle est masqué.

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

Modèles de contrôle UI Automation pour les clients

Implémentation du modèle de contrôle SelectionItem d'UI Automation

Vue d'ensemble de l'arborescence UI Automation