Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Cette documentation est destinée 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 informations les plus récentes sur UI Automation, consultez API Windows Automation : UI Automation.
Cette rubrique présente des instructions et des conventions pour l’implémentation de IExpandCollapseProvider, y compris des informations sur les propriétés, les méthodes et les événements. Les liens vers des références supplémentaires sont répertoriés à la fin de la vue d’ensemble.
Le ExpandCollapsePattern modèle de contrôle est utilisé pour prendre en charge les contrôles qui s’étendent visuellement pour afficher davantage de contenu et réduire pour masquer le contenu. Pour obtenir des exemples de contrôles qui implémentent ce modèle de contrôle, consultez Mappage des modèles de contrôle pour les clients UI Automation.
Directives et conventions de mise en œuvre
Lors de l’implémentation du modèle de contrôle ExpandCollapse, notez les instructions et conventions suivantes :
Les contrôles d’agrégation , générés avec des objets enfants qui fournissent à l’interface utilisateur des fonctionnalités de développement/réduction, doivent prendre en charge le ExpandCollapsePattern modèle de contrôle alors que leurs éléments enfants ne le font pas. Par exemple, un contrôle de zone de liste modifiable est créé avec une combinaison de contrôles de zone de liste, de bouton et de modification, mais il s’agit uniquement de la zone de liste modifiable parente qui doit prendre en charge le ExpandCollapsePattern.
Remarque
Une exception est le contrôle de menu, qui est un agrégat d’objets MenuItem individuels. Les objets MenuItem peuvent prendre en charge le ExpandCollapsePattern modèle de contrôle, mais le contrôle Menu parent ne peut pas. Une exception similaire s’applique aux contrôles Tree and Tree Item.
Lorsque le ExpandCollapseState contrôle est défini LeafNodesur , toutes les ExpandCollapsePattern fonctionnalités sont actuellement inactives pour le contrôle et les seules informations qui peuvent être obtenues à l’aide de ce modèle de contrôle sont les ExpandCollapseState. Si des objets enfants sont ajoutés par la suite, les modifications et ExpandCollapsePattern fonctionnalités ExpandCollapseState sont activées.
ExpandCollapseState fait référence à la visibilité des objets enfants immédiats uniquement ; elle ne fait pas référence à la visibilité de tous les objets descendants.
La fonctionnalité Développer et Réduire est spécifique au contrôle. Voici des exemples de ce comportement.
Le menu Personnel Office peut être un MenuItem à trois états (ExpandedCollapsedetPartiallyExpanded) où le contrôle spécifie l’état à adopter lorsqu’un Expand ou Collapse est appelé.
L’appel Expand sur un TreeItem peut afficher tous les descendants ou uniquement les enfants immédiats.
Si l’appel Expand ou Collapse sur un contrôle conserve l’état de ses descendants, un événement de modification de visibilité doit être envoyé, et non un événement de modification d’état si le contrôle parent ne conserve pas l’état de ses descendants lorsqu’il est réduit, le contrôle peut détruire tous les descendants qui ne sont plus visibles et déclencher un événement détruit ; ou il peut changer pour ExpandCollapseState chaque descendant et déclencher un événement de modification de visibilité.
Pour garantir la navigation, il est souhaitable qu’un objet se trouve dans l’arborescence UI Automation (avec un état de visibilité approprié) indépendamment de ses parents ExpandCollapseState. Si les descendants sont générés à la demande, ils peuvent apparaître uniquement dans l’arborescence UI Automation après avoir été affichés pour la première fois ou uniquement pendant qu’ils sont visibles.
Membres requis pour IExpandCollapseProvider
Les propriétés et méthodes suivantes sont requises pour l’implémentation IExpandCollapseProvider.
Membres obligatoires | Type de membre | Remarques |
---|---|---|
ExpandCollapseState | Propriété | Aucun |
Expand | Méthode | Aucun |
Collapse | Méthode | Aucun |
AutomationPropertyChangedEventHandler | Événement | Ce contrôle n’a aucun événement associé ; utilisez ce délégué générique. |
Exceptions
Les fournisseurs doivent lever les exceptions suivantes.
Type d’exception | État |
---|---|
InvalidOperationException | Soit Expand est appelé lorsque leLeafNodeExpandCollapseState = .Collapse |
Voir aussi
- Vue d'ensemble des modèles de contrôle UI Automation
- Prendre en charge des modèles de contrôle dans un fournisseur UI Automation
- Modèles de contrôle UI Automation pour les clients
- Naviguer parmi les éléments UI Automation avec TreeWalker
- Vue d’ensemble de l’arborescence UI Automation
- Utiliser la mise en cache dans UI Automation