Stöd för användargränssnittsautomatisering för knappkontrolltypen

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 information om stöd för UI Automation för knappkontrolltypen. I UI Automation är en kontrolltyp en uppsättning villkor som en kontroll måste uppfylla för att kunna använda egenskapen ControlTypeProperty . Villkoren innehåller specifika riktlinjer för UI Automation-trädstruktur, UI Automation-egenskapsvärden, kontrollmönster och UI Automation-händelser.

En knapp är ett objekt som en användare interagerar med för att utföra en åtgärd, till exempel knapparna OK och Avbryt i en dialogruta. Knappkontrollen är en enkel kontroll att exponera eftersom den mappar till ett enda kommando som användaren vill slutföra.

I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaperna, kontrollmönstren och händelserna för knappkontrolltypen. Kraven för UI Automation gäller för alla knappkontroller, oavsett om Windows Presentation Foundation (WPF), Win32 eller Windows Forms.

Obligatorisk trädstruktur för användargränssnittsautomatisering

I följande tabell visas kontrollvyn och innehållsvyn för UI Automation-trädet som gäller för knappkontroller och beskriver vad som kan finnas i varje vy. Mer information om UI Automation-trädet finns i UI Automation Tree Overview.

Kontrollvy Innehållsvy
Knapp

- Bild (0 eller mer)
- Text (0 eller mer)
Knapp

Nödvändiga egenskaper för UI Automation

I följande tabell visas de UI Automation-egenskaper vars värde eller definition är särskilt relevant för de kontroller som implementerar knappkontrolltypen (till exempel knappkontroller). Mer information om egenskaper för UI Automation finns i UI Automation Properties for Clients (Egenskaper för gränssnittsautomatisering för klienter).

UI Automation-egenskap Värde Noteringar
AcceleratorKeyProperty Se anteckningar. Knappkontrollen måste vanligtvis ha stöd för en acceleratornyckel för att en slutanvändare ska kunna utföra den åtgärd som den representerar snabbt från tangentbordet.
AutomationIdProperty Se anteckningar. Värdet för den här egenskapen måste vara unikt för alla kontroller i ett program.
BoundingRectangleProperty Se anteckningar. Den yttersta rektangeln som innehåller hela kontrollen.
ClickablePointProperty Se anteckningar. Stöds om det finns en rektangel för avgränsning. Om inte varje punkt i avgränsningsrektangeln är klickbar och du utför specialiserad träfftestning, bör du åsidosätta och ange en klickbar punkt.
ControlTypeProperty Knapp Det här värdet är detsamma för alla gränssnittsramverk.
HelpTextProperty Se anteckningar. Hjälptexten kan ange vad slutresultatet av att aktivera knappen blir. Det här är vanligtvis samma typ av information som visas via en ToolTip.
IsContentElementProperty Sann Knappkontrollen måste alltid ha innehåll.
IsControlElementProperty Sann Knappkontrollen måste alltid vara en styrfunktion.
IsKeyboardFocusableProperty Se anteckningar. Om kontrollen kan få tangentbordsfokus måste den ha stöd för den här egenskapen.
LabeledByProperty Null Knappkontroller är självmärkta av innehållet.
LocalizedControlTypeProperty "knapp" Lokaliserad sträng som motsvarar knappkontrolltypen.
NameProperty Se anteckningar. Namnet på knappkontrollen är den text som används för att märka den. När en bild används för att märka en knapp måste alternativ text anges för knappens namnegenskap.

Nödvändiga UI Automation-kontrollmönster

I följande tabell visas de UI Automation-kontrollmönster som krävs för att stödjas av alla knappkontroller. Mer information om kontrollmönster finns i UI Automation Control Patterns Overview.

Kontrollmönster Stöd Noteringar
IInvokeProvider Se anteckningar. Alla knappar bör ha stöd för anropa kontrollmönster eller växla kontrollmönster. Anropa stöds när knappen utför ett kommando på begäran av användaren. Det här kommandot mappar till en enda åtgärd, till exempel Klipp ut, Kopiera, Klistra in eller Ta bort.
IToggleProvider Se anteckningar. Alla knappar bör ha stöd för anropa kontrollmönster eller växla kontrollmönster. Växlingsknappen stöds om knappen kan växlas genom en serie med upp till tre tillstånd. Detta ses vanligtvis som en på/av-växel för specifika funktioner.
IExpandCollapseProvider Se anteckningar. När en knapp är en del av en delad knapp kan den underordnade knappen stödja mönstret ExpandCollapse istället för mönstret Anropa eller Växla. Mönstret ExpandCollapse kan användas för att öppna eller stänga en meny eller annan understruktur som är associerad med knappelementet.

Nödvändiga UI Automation-händelser

I följande tabell visas de UI Automation-händelser som krävs för att stödjas av alla knappkontroller. Mer information om händelser finns i UI Automation Events Overview.

UI Automation-händelse Stöd Noteringar
AutomationFocusChangedEvent Krävs Ingen
BoundingRectangleProperty egenskapsändringshändelse. Krävs Ingen
IsOffscreenProperty egenskapsändringshändelse. Krävs Ingen
IsEnabledProperty egenskapsändringshändelse. Krävs Ingen
NameProperty egenskapsändringshändelse. Krävs Ingen
StructureChangedEvent Krävs Ingen
InvokedEvent Det beror på Om kontrollen stöder mönstret Anropa kontroll måste den ha stöd för den här händelsen.
ToggleStateProperty egenskapsändringshändelse. Det beror på Om kontrollen stöder växlingskontrollmönstret måste den ha stöd för den här händelsen.

Se även