Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Den här dokumentationen är avsedd för .NET Framework-utvecklare som vill använda de hanterade UI Automation-klasserna som definierats i System.Windows.Automation namnrymd. Den senaste informationen om UI Automation finns i Windows Automation API: UI Automation.
Det här avsnittet innehåller riktlinjer och konventioner för att implementera IExpandCollapseProvider, inklusive information om egenskaper, metoder och händelser. Länkar till ytterligare referenser visas i slutet av översikten.
Kontrollmönstret ExpandCollapsePattern används för att stödja kontroller som visuellt expanderar för att visa mer innehåll och komprimera för att dölja innehåll. Exempel på kontroller som implementerar det här kontrollmönstret finns i Kontrollmönstermappning för UI Automation-klienter.
Riktlinjer och konventioner för implementering
Observera följande riktlinjer och konventioner när du implementerar kontrollmönstret ExpandCollapse:
Aggregerade kontroller – byggda med underordnade objekt som ger användargränssnittet utökade/komprimerade funktioner – måste ha stöd ExpandCollapsePattern för kontrollmönstret medan deras underordnade element inte gör det. En kombinationsrutekontroll skapas till exempel med en kombination av listrutor, knapp- och redigeringskontroller, men det är bara den överordnade kombinationsrutan som måste ha stöd för ExpandCollapsePattern.
Anmärkning
Ett undantag är menykontrollen, som är en samling enskilda MenuItem-objekt. MenuItem-objekten kan ha stöd för ExpandCollapsePattern kontrollmönstret, men den överordnade menykontrollen kan inte göra det. Ett liknande undantag gäller för kontrollerna Träd och Trädobjekt.
ExpandCollapseState När en kontroll är inställd på LeafNodeär alla ExpandCollapsePattern funktioner för närvarande inaktiva för kontrollen och den enda information som kan hämtas med hjälp av det här kontrollmönstret är ExpandCollapseState. Om några underordnade objekt senare läggs till ändras ExpandCollapseState och ExpandCollapsePattern funktionalitet aktiveras.
ExpandCollapseState hänvisar endast till synligheten för de omedelbara underordnade objekten; det refererar inte till synligheten för alla efterföljande objekt.
Funktionen Expandera och dölj är kontrollspecifik. Följande är exempel på det här beteendet.
Den personliga Office-menyn kan vara en tri-state MenuItem (Expanded, Collapsed och PartiallyExpanded) där kontrollen anger det tillstånd som ska införas när en Expand eller Collapse anropas.
Att anropa Expand på en TreeItem kan visa alla underordnade eller endast omedelbara underordnade.
Om anrop till Expand eller Collapse på en kontroll behåller tillståndet för dess underordnade, bör en synlighetsändringshändelse skickas, inte en tillståndsändringshändelse. Om den överordnade kontrollen inte behåller tillståndet för sina underordnade när den kollapsar, kan kontrollen förstöra alla underordnade som inte längre är synliga och utlösa en förstörd händelse, eller så kan den ändra ExpandCollapseState för varje underordnad och utlösa en synlighetsändringshändelse.
För att garantera navigering är det önskvärt att ett objekt finns i UI Automation-trädet (med lämpligt synlighetstillstånd) oavsett dess överordnade ExpandCollapseState. Om underordnade genereras på begäran kan de bara visas i UI Automation-trädet efter att ha visats för första gången eller bara när de är synliga.
Obligatoriska medlemmar för IExpandCollapseProvider
Följande egenskaper och metoder krävs för att implementera IExpandCollapseProvider.
| Obligatoriska medlemmar | Medlemstyp | Noteringar |
|---|---|---|
| ExpandCollapseState | Fastighet | Ingen |
| Expand | Metod | Ingen |
| Collapse | Metod | Ingen |
| AutomationPropertyChangedEventHandler | Evenemang | Den här kontrollen har inga associerade händelser; använd det här allmänna ombudet. |
Undantag
Leverantörer måste utlösa följande undantag.
| Undantagstyp | Tillstånd |
|---|---|
| InvalidOperationException | Antingen Expand eller Collapse anropas när ExpandCollapseState = LeafNode. |
Se även
- Översikt över UI Automation-kontrollmönster
- Stöd Kontrollmönster i en automatiseringsleverantör för användargränssnitt
- UI Automation-kontrollmönster för klienter
- Navigera bland UI Automation-element med TreeWalker
- Översikt över automationsträd för användargränssnittet
- Använda cachelagring i UI Automation