Implementera UI Automation Grid-kontrollmönstret

Kommentar

Den här dokumentationen System.Windows.Automation är avsedd för .NET Framework-utvecklare som vill använda de hanterade UI Automation-klasserna som definierats i namnområdet. 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 IGridProvider, inklusive information om egenskaper, metoder och händelser. Länkar till ytterligare referenser visas i slutet av översikten.

Kontrollmönstret GridPattern används för att stödja kontroller som fungerar som containrar för en samling underordnade element. Underordnade element måste implementera IGridItemProvider och ordnas i ett tvådimensionellt logiskt koordinatsystem som kan passeras av rad och kolumn. 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 rutnätskontrollmönstret:

  • Rutnätskoordinater är nollbaserade med den övre vänstra (eller övre högra cellen beroende på nationella inställningar) med koordinater (0, 0).

  • Om en cell är tom måste ett UI Automation-element fortfarande returneras för att stödja egenskapen för cellen ContainingGrid . Detta är möjligt när layouten för underordnade element i rutnätet liknar en ojämn matris (se exemplet nedan).

Windows Explorer view showing ragged layout. Exempel på en rutnätskontroll med tomma koordinater

  • Ett rutnät med ett enskilt objekt krävs fortfarande för att implementera IGridProvider om det logiskt anses vara ett rutnät. Antalet underordnade objekt i rutnätet är oväsentligt.

  • Dolda rader och kolumner, beroende på providerimplementeringen, kan läsas in i UI Automation-trädet och återspeglas därför i RowCount egenskaperna och ColumnCount . Om de dolda raderna och kolumnerna ännu inte har lästs in bör de inte räknas.

  • IGridProvider aktiverar inte aktiv manipulering av ett rutnät. ITransformProvider måste implementeras för att aktivera den här funktionen.

  • Använd en StructureChangedEventHandler för att lyssna efter strukturella ändringar eller layoutändringar i rutnätet, till exempel celler som har lagts till, tagits bort eller sammanfogats.

  • Använd en AutomationFocusChangedEventHandler för att spåra bläddering genom objekten eller cellerna i ett rutnät.

Obligatoriska medlemmar för IGridProvider

Följande egenskaper och metoder krävs för att implementera IGridProvider-gränssnittet.

Obligatoriska medlemmar Type Anteckningar
RowCount Property Ingen
ColumnCount Property Ingen
GetItem Metod Ingen

Det här kontrollmönstret har inga associerade händelser.

Undantag

Leverantörer måste utlösa följande undantag.

Undantagstyp Villkor
ArgumentOutOfRangeException GetItem

– Om den begärda radkoordinaten RowCount är större än eller om kolumnkoordinaten är större än ColumnCount.
ArgumentOutOfRangeException GetItem

– Om någon av de begärda rad- eller kolumnkoordinaterna är mindre än noll.

Se även