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).
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. |