Implémentation du modèle de contrôle Selection 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 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
- 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 |
---|---|---|
Propriété |
Doit prendre en charge les événements de modification de propriété à l'aide de AddAutomationPropertyChangedEventHandler et RemoveAutomationPropertyChangedEventHandler. |
|
Propriété |
Doit prendre en charge les événements de modification de propriété à l'aide de AddAutomationPropertyChangedEventHandler et RemoveAutomationPropertyChangedEventHandler. |
|
Méthode |
Aucun |
|
É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 |
---|---|
Si le contrôle n'est pas activé. |
|
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