Dela via


Ö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

Egenskapsidentifierare Egenskapsåtkomst
AutomationIdProperty AutomationId
ClassNameProperty ClassName
FrameworkIdProperty FrameworkId
LabeledByProperty LabeledBy
NameProperty Name
ProcessIdProperty ProcessId
RuntimeIdProperty GetRuntimeId
NativeWindowHandleProperty NativeWindowHandle

Interaktion

Egenskapsidentifierare Egenskapsåtkomst
AcceleratorKeyProperty AcceleratorKey
AccessKeyProperty AccessKey
ClickablePointProperty GetClickablePoint
HasKeyboardFocusProperty HasKeyboardFocus
IsEnabledProperty IsEnabled
IsKeyboardFocusableProperty IsKeyboardFocusable

Stöd för mönster

Egenskapsidentifierare Egenskapsåtkomst
IsDockPatternAvailableProperty GetSupportedPatterns
IsExpandCollapsePatternAvailableProperty GetSupportedPatterns
IsGridItemPatternAvailableProperty GetSupportedPatterns
IsGridPatternAvailableProperty GetSupportedPatterns
IsInvokePatternAvailableProperty GetSupportedPatterns
IsMultipleViewPatternAvailableProperty GetSupportedPatterns
IsRangeValuePatternAvailableProperty GetSupportedPatterns
IsScrollItemPatternAvailableProperty GetSupportedPatterns
IsScrollPatternAvailableProperty GetSupportedPatterns
IsSelectionItemPatternAvailableProperty GetSupportedPatterns
IsSelectionPatternAvailableProperty GetSupportedPatterns
IsTableItemPatternAvailableProperty GetSupportedPatterns
IsTablePatternAvailableProperty GetSupportedPatterns
IsTextPatternAvailableProperty GetSupportedPatterns
IsTogglePatternAvailableProperty GetSupportedPatterns
IsTransformPatternAvailableProperty GetSupportedPatterns
IsValuePatternAvailableProperty GetSupportedPatterns
IsWindowPatternAvailableProperty GetSupportedPatterns

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