Delen via


Het ui Automation ExpandCollapse-besturingselementpatroon implementeren

Notitie

Deze documentatie is bedoeld voor .NET Framework-ontwikkelaars die de beheerde UI Automation-klassen willen gebruiken die zijn gedefinieerd in de System.Windows.Automation naamruimte. Zie Windows Automation-API: UI Automation voor de meest recente informatie over UI Automation.

In dit onderwerp worden richtlijnen en conventies geïntroduceerd voor het implementeren IExpandCollapseProvider, inclusief informatie over eigenschappen, methoden en gebeurtenissen. Koppelingen naar aanvullende verwijzingen worden weergegeven aan het einde van het overzicht.

Het ExpandCollapsePattern besturingspatroon wordt gebruikt ter ondersteuning van besturingselementen die visueel worden uitgevouwen om meer inhoud weer te geven en samen te vouwen om inhoud te verbergen. Zie Beheerpatroontoewijzing voor UI Automation-clients voor voorbeelden van besturingselementen die dit besturingspatroon implementeren.

Implementatierichtlijnen en conventies

Let bij het implementeren van het expandcollapse-besturingspatroon op de volgende richtlijnen en conventies:

  • Aggregatiebesturingselementen, gebouwd met onderliggende objecten die de gebruikersinterface voorzien van functionaliteit voor uitvouwen/samenvouwen, moeten het ExpandCollapsePattern besturingspatroon ondersteunen, terwijl hun onderliggende elementen dat niet doen. Een besturingselement voor een keuzelijst met invoervak is bijvoorbeeld gemaakt met een combinatie van keuzelijst, knop en bewerkingsbesturingselementen, maar het is alleen de bovenliggende keuzelijst met invoervak die de ExpandCollapsePatternoptie moet ondersteunen.

    Notitie

    Een uitzondering hierop is het menu-besturingselement, een samenvoeging van afzonderlijke MenuItem-objecten. De MenuItem-objecten kunnen het ExpandCollapsePattern besturingspatroon ondersteunen, maar het bovenliggende menu besturingselement kan niet. Een vergelijkbare uitzondering is van toepassing op de besturingselementen structuur- en boomstructuuritem.

  • Wanneer het ExpandCollapseState besturingselement is ingesteld op LeafNode, is elke ExpandCollapsePattern functionaliteit momenteel inactief voor het besturingselement en is de enige informatie die kan worden verkregen met behulp van dit besturingspatroon de ExpandCollapseState. Als er vervolgens onderliggende objecten worden toegevoegd, worden de ExpandCollapseState wijzigingen en ExpandCollapsePattern functionaliteit geactiveerd.

  • ExpandCollapseState verwijst alleen naar de zichtbaarheid van onmiddellijke onderliggende objecten; het verwijst niet naar de zichtbaarheid van alle onderliggende objecten.

  • De functionaliteit uitvouwen en samenvouwen is controlespecifiek. Hier volgen enkele voorbeelden van dit gedrag.

    • Het persoonlijke Office-menu kan een menuitem met drie statussen (ExpandedCollapsedenPartiallyExpanded) zijn waarbij het besturingselement de status aangeeft die moet worden aangenomen wanneer een Expand of Collapse wordt aangeroepen.

    • Als u een TreeItem aanroept Expand , kunnen alle afstammelingen of alleen directe kinderen worden weergegeven.

    • Als het aanroepen of Collapse inschakelen Expand van een besturingselement de status van de onderliggende objecten behoudt, moet een wijzigingsgebeurtenis voor zichtbaarheid worden verzonden, niet een statuswijzigingsgebeurtenis als het bovenliggende besturingselement de status van de onderliggende onderliggende exemplaren niet behoudt wanneer het is samengevouwen, kan het besturingselement alle nakomelingen vernietigen die niet meer zichtbaar zijn en een vernietigde gebeurtenis genereren; of het kan de ExpandCollapseState status van elke afstammeling wijzigen en een zichtbaarheidswijzigingsgebeurtenis genereren.

  • Om navigatie te garanderen, is het wenselijk dat een object zich in de UI Automation-structuur bevindt (met de juiste zichtbaarheidsstatus), ongeacht de bovenliggende elementen ExpandCollapseState. Als afstammelingen op aanvraag worden gegenereerd, worden ze mogelijk alleen weergegeven in de UI Automation-structuur nadat ze voor het eerst of alleen zichtbaar zijn.

Vereiste leden voor IExpandCollapseProvider

De volgende eigenschappen en methoden zijn vereist voor de implementatie IExpandCollapseProvider.

Vereiste leden Type lid Opmerkingen
ExpandCollapseState Eigenschappen Geen
Expand Wijze Geen
Collapse Wijze Geen
AutomationPropertyChangedEventHandler Gebeurtenis Dit besturingselement heeft geen gekoppelde gebeurtenissen; gebruik deze algemene gemachtigde.

Uitzonderingen

Providers moeten de volgende uitzonderingen genereren.

Uitzonderingstype Conditie
InvalidOperationException Of Expand wordt aangeroepen wanneer de ExpandCollapseState = LeafNode.Collapse

Zie ook