Stöd för UI Automation för TreeItem-kontrolltypen
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 information om stöd för UI Automation för TreeItem-kontrolltypen. 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 och kontrollmönster.
TreeItem-kontrolltypen representerar en nod i en trädcontainer. Varje nod kan innehålla andra noder, så kallade underordnade noder. Överordnade noder, eller noder som innehåller underordnade noder, kan visas som expanderade eller komprimerade.
I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaperna, kontrollmönstren och händelserna för TreeItem-kontrolltypen. UI Automation-kraven gäller för alla trädobjektskontroller, 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 trädobjektkontroller och beskriver vad som kan finnas i varje vy. Mer information om UI Automation-trädet finns i Översikt över UI Automation Tree.
Kontrollvy | Innehållsvy |
---|---|
TreeItem – Kryssruta (0 eller 1) - Bild (0 eller 1) - Knapp (0 eller 1) - TreeItem (0 eller mer) |
TreeItem - TreeItem (0 eller mer) |
Trädobjektkontroller kan ha noll eller fler underordnade trädobjekt i innehållsvyn för UI Automation-trädet. Om trädobjektkontrollen har funktioner utöver vad som visas i kontrollmönstren som anges nedan bör kontrollen baseras på kontrolltypen Dataobjekt.
Komprimerade trädobjekt visas inte i kontrollvyn eller innehållsvyn förrän de expanderas och visas (eller kan rullas in i vyn).
Kontrollvyn kan innehålla ytterligare information för en kontroll, inklusive en associerad bild eller en knapp. Ett objekt i en dispositionsvy kan till exempel innehålla en bild samt en knapp för att expandera eller dölja dispositionen. Dessa detaljobjekt visas inte i innehållsvyn eftersom informationen redan representeras av det överordnade trädobjektet. Trädobjekt som rullas bort från skärmen visas i både kontroll- och innehållsvyerna i UI Automation-trädet och bör ha IsOffscreenProperty värdet true.
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 listkontroller. 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 | Kommentar |
---|---|---|
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. | Den här egenskapen måste returnera en plats för objektet som gör att objektet ändrar markeringstillståndet eller blir fokuserat. |
ControlTypeProperty | TreeItem | Det här värdet är detsamma för alla gränssnittsramverk. |
IsContentElementProperty | Sant | Listkontrollen ingår alltid i innehållsvyn i UI Automation-trädet. |
IsControlElementProperty | Sant | Listkontrollen ingår alltid i kontrollvyn för UI Automation-trädet. |
IsOffscreenProperty | Se anteckningar. | Den här egenskapen är inställd på att ange när en trädobjektskontroll rullas bort från skärmen. |
IsKeyboardFocusableProperty | Se anteckningar. | Om kontrollen kan få tangentbordsfokus måste den ha stöd för den här egenskapen. |
ItemTypeProperty | Se anteckningar. | Om trädobjektkontrollen använder en visuell ikon för att indikera att det är en viss typ av objekt måste den här egenskapen stödjas och ange vad objektet är. |
LabeledByProperty | Null |
Trädobjektkontroller är självetiketter. |
LocalizedControlTypeProperty | "trädobjekt" | Lokaliserad sträng som motsvarar kontrolltypen TreeItem. |
NameProperty | Se anteckningar. | Den här egenskapen visar texten som visas för varje trädobjektkontroll. |
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 listkontroller. Mer information om kontrollmönster finns i Översikt över UI Automation-kontrollmönster.
Kontrollmönster/mönsteregenskap | Support/värde | Kommentar |
---|---|---|
IInvokeProvider | Beror | Implementera det här kontrollmönstret om trädobjektet har ett separat, åtgärdsbart kommando. |
IExpandCollapseProvider | Ja | Alla trädobjekt kan expanderas eller komprimeras. |
ExpandCollapseState | Expanderad, komprimerad eller lövnod | Trädobjekt blir lövnoder när de inte expanderas eller komprimeras. |
IScrollItemProvider | Beror | Implementera det här kontrollmönstret om trädcontainern stöder rullningskontrollmönstret. |
ISelectionItemProvider | Beror | Implementera det här kontrollmönstret om det är möjligt att ha ett aktivt val som behålls när användaren återvänder till trädcontainern. |
SelectionContainer | Ja | Den här egenskapen exponerar samma container för alla objekt i containern. |
IToggleProvider | Beror | Implementera det här kontrollmönstret om trädobjektet har en associerad kryssruta. |
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 trädobjektskontroller. Mer information om händelser finns i Översikt över UI Automation-händelser.
UI Automation-händelse | Support | Kommentar |
---|---|---|
AutomationFocusChangedEvent | Obligatoriskt | Ingen |
BoundingRectangleProperty händelse som ändrats av egenskapen. | Obligatoriskt | Ingen |
IsEnabledProperty händelse som ändrats av egenskapen. | Obligatoriskt | Ingen |
IsOffscreenProperty händelse som ändrats av egenskapen. | Obligatoriskt | Ingen |
ItemStatusProperty händelse som ändrats av egenskapen. | Beror | Ingen |
NameProperty händelse som ändrats av egenskapen. | Obligatoriskt | Ingen |
StructureChangedEvent | Obligatoriskt | Ingen |
ExpandCollapseStateProperty händelse som ändrats av egenskapen. | Obligatoriskt | Ingen |
InvokedEvent | Beror | Ingen |
CurrentViewProperty händelse som ändrats av egenskapen. | Beror | Ingen |
ElementAddedToSelectionEvent | Beror | Ingen |
ElementRemovedFromSelectionEvent | Beror | Ingen |
ElementSelectedEvent | Beror | Ingen |
ToggleStateProperty händelse som ändrats av egenskapen. | Beror | Ingen |
ValueProperty händelse som ändrats av egenskapen. | Beror | Inga |