Översikt över egenskaper för användargränssnittsautomatisering
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.
UI Automation-leverantörer exponerar egenskaper för Microsoft UI Automation-element. Dessa egenskaper gör det möjligt för UI Automation-klientprogram att identifiera information om delar av användargränssnittet (UI), särskilt kontroller, inklusive både statiska och dynamiska data.
Det här avsnittet ger en bred översikt över Microsoft UI Automation-egenskaper. Mer specifik information ges i följande avsnitt:
Egenskapsidentifierare
Varje egenskap identifieras med ett tal och ett namn. Egenskapernas namn används endast för felsökning och diagnostik. Leverantörer använder numeriska ID:n för att identifiera inkommande egenskapsbegäranden. Klientprogram använder AutomationPropertydock bara , som kapslar in numret och namnet, för att identifiera egenskaper som de vill hämta.
AutomationProperty objekt som representerar vissa egenskaper är tillgängliga som fält i olika klasser. Av säkerhetsskäl hämtar UI Automation-leverantörer dessa objekt från en separat uppsättning klasser som finns i Uiautomationtypes.dll.
I följande tabell kategoriseras egenskaper efter de klasser som innehåller AutomationPropertyID:na.
Typer av egenskaper | Klienter får ID:t från | Leverantörer får ID:t från |
---|---|---|
Egenskaper som är gemensamma för alla element (se följande tabeller) | AutomationElement | AutomationElementIdentifiers |
Position för ett dockningsfönster | DockPattern | DockPatternIdentifiers |
Tillstånd för ett element som kan expanderas och komprimeras | ExpandCollapsePattern | ExpandCollapsePatternIdentifiers |
Egenskaper för ett objekt i ett rutnät | GridItemPattern | GridItemPatternIdentifiers |
Egenskaper för ett rutnät | GridPattern | GridPatternIdentifiers |
Aktuell och stödd vy över ett element som har flera vyer | MultipleViewPattern | MultipleViewPatternIdentifiers |
Egenskaper för ett element som flyttas över ett intervall med värden, till exempel ett skjutreglage | RangeValuePattern | RangeValuePatternIdentifiers |
Egenskaper för ett rullningsfönster | ScrollPattern | ScrollPatternIdentifiers |
Status och container för ett objekt som kan väljas, som i en lista | SelectionItemPattern | SelectionItemPatternIdentifiers |
Egenskaper för en kontroll som innehåller markeringsobjekt | SelectionPattern | SelectionPatternIdentifiers |
Kolumn- och radrubriker för ett objekt i en tabell | TableItemPattern | TableItemPatternIdentifiers |
Kolumn- och radrubriker och orientering för en tabell | TablePattern | TablePatternIdentifiers |
Tillstånd för en växlingskontroll | TogglePattern | TogglePatternIdentifiers |
Funktioner för ett element som kan flyttas, roteras eller ändras | TransformPattern | TransformPatternIdentifiers |
Värde- och läs-/skrivfunktioner för ett element som har ett värde | ValuePattern | ValuePatternIdentifiers |
Funktioner och tillstånd för ett fönster | WindowPattern | WindowPatternIdentifiers |
Egenskaper efter kategori
Följande tabeller kategoriserar de egenskaper vars ID finns i AutomationElement och AutomationElementIdentifiers. Dessa egenskaper är gemensamma för alla kontroller. Alla utom några av dem kommer sannolikt att vara statiska under providerprogrammets livslängd. de flesta dynamiska egenskaper är associerade med kontrollmönster.
Kolumnen Egenskapsåtkomst visar alla andra åtkomster för varje egenskap, förutom GetCurrentPropertyValue och GetCachedPropertyValue. Mer information om hur du hämtar egenskaper i ett klientprogram finns i UI Automation Properties for Clients (Gränssnittsautomatiseringsegenskaper för klienter).
Kommentar
För specifik information om varje egenskap följer du länken i kolumnen Egenskapsåtkomst .
Visningsegenskaper
Egenskapsidentifierare | Egenskapsåtkomst |
---|---|
BoundingRectangleProperty | BoundingRectangle |
CultureProperty | saknas |
HelpTextProperty | HelpText |
IsOffscreenProperty | IsOffscreen |
OrientationProperty | Orientation |
Elementtyp
Egenskapsidentifierare | Egenskapsåtkomst |
---|---|
ControlTypeProperty | ControlType |
IsContentElementProperty | IsContentElement |
IsControlElementProperty | IsControlElement |
ItemTypeProperty | ItemType |
LocalizedControlTypeProperty | LocalizedControlType |
Identifiering
Interaktion
Stöd för mönster
Diverse
Egenskapsidentifierare | Egenskapsåtkomst |
---|---|
IsRequiredForFormProperty | IsRequiredForForm |
IsPasswordProperty | IsPassword |
ItemStatusProperty | ItemStatus |
Lokalisering
UI Automation-leverantörer bör presentera följande egenskaper på operativsystemets språk:
Egenskaper och händelser
Nära kopplat till egenskaperna i UI Automation är begreppet egenskapsändringshändelser. För dynamiska egenskaper behöver klientprogrammet ett sätt att veta att ett egenskapsvärde har ändrats, så att det kan uppdatera sin cache med information eller reagera på den nya informationen på något annat sätt.
Leverantörer genererar händelser när något i användargränssnittet ändras. Om en kryssruta till exempel är markerad eller avmarkerad genereras en egenskapsfördelade händelse av providerns implementering av växlingsmönstret. Leverantörer kan generera händelser selektivt, beroende på om några klienter lyssnar efter händelser eller lyssnar efter specifika händelser.
Det är inte alla egenskapsändringar som genererar händelser. det är helt upp till implementeringen av UI Automation-providern för elementet. Standardproxyprovidrar för listrutor skapar till exempel inte en händelse när ändringarna SelectionProperty ändras. I det här fallet måste programmet i stället lyssna efter en ElementSelectedEvent.
Klienter lyssnar efter händelser genom att prenumerera på dem. Att prenumerera på händelser innebär att skapa delegerade metoder som kan hantera händelserna och sedan skicka metoderna till UI Automation tillsammans med de specifika händelser som ska hanteras i dessa metoder. I synnerhet för egenskapsändringshändelser måste klienter implementera AutomationPropertyChangedEventHandler.
Se även
- Cachelagring i UI Automation-klienter
- Egenskaper för gränssnittsautomatisering för klienter
- Implementering av UI Automation-provider på serversidan
- Hitta ett UI Automation-element baserat på ett egenskapsvillkor
- Returnera egenskaper från en UI Automation-provider
- Skapa händelser från en UI Automation-provider