DataItem-kontrolltyp
Det här avsnittet innehåller information om Microsoft UI Automation-stöd för kontrolltypen DataItem.
En post i en kontaktlista är ett exempel på en dataobjektkontroll. En kontroll av dataobjekt innehåller information som är av intresse för en slutanvändare. Det är mer komplicerat än det enkla listobjektet eftersom det innehåller mer information.
I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaper, kontrollmönster och händelser för DataItem kontrolltyp. Kraven för UI Automation gäller för alla kontroller för dataobjekt där UI-ramverket/plattformen integrerar UI Automation-stöd för kontrolltyper och kontrollmönster.
Det här avsnittet innehåller följande avsnitt.
- typisk trädstruktur
- relevanta egenskaper
- nödvändiga kontrollmönster
- Arbeta med DataItems i stora listor
- nödvändiga händelser
- Exempel på DataItem-kontrolltyp
- Relaterade ämnen
Typisk trädstruktur
I följande tabell visas en typisk kontroll- och innehållsvy över UI Automation-trädet som gäller för kontroller för dataobjekt 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 |
---|---|
|
|
Ett dataobjektelement i ett datarutnät kan vara värd för en mängd olika objekt, inklusive ett annat lager med dataobjekt eller specifika rutnätselement som text, bilder eller redigeringskontroller. Om dataobjektelementet har en specifik objektroll ska elementet exponeras som en specifik kontrolltyp. Till exempel en ListItem kontrolltyp för ett valbart dataobjekt i rutnätet.
Relevanta egenskaper
I följande tabell visas de UI Automation-egenskaper vars värde eller definition är särskilt relevant för DataItem-kontrolltypen. Mer information om egenskaper för UI Automation finns i Hämta egenskaper från UI Automation-element.
UI Automation-egenskap | Värde | Anteckningar |
---|---|---|
UIA_AutomationIdPropertyId | Se anteckningar. | Värdet för den här egenskapen måste vara unikt bland alla peer-element i den råa vyn för UI Automation-trädet. |
UIA_BoundingRectanglePropertyId | Se anteckningar. | Den yttersta rektangeln som innehåller hela kontrollen. |
UIA_ClickablePointPropertyId | Se anteckningar. | Stöds om det finns en rektangel för avgränsning. Om inte varje punkt i avgränsningsrektangeln är klickbar och elementet utför specialiserad träfftestning åsidosätter och ger en klickbar punkt. |
UIA_ControlTypePropertyId | DataItem | |
UIA_IsContentElementPropertyId | SANN | Kontrollen för dataobjekt måste alltid vara innehåll. |
UIA_IsControlElementPropertyId | SANN | Kontrollen för dataobjekt måste alltid vara en kontroll. |
UIA_IsKeyboardFocusablePropertyId | Se anteckningar. | Om kontrollen kan få tangentbordsfokus måste den ha stöd för den här egenskapen. |
UIA_ItemStatusPropertyId | Se anteckningar. | Om kontrollen innehåller status som uppdateras dynamiskt måste den här egenskapen stödjas så att en hjälpmedelsteknik kan ta emot uppdateringar när statusen för elementet ändras. |
UIA_ItemTypePropertyId | Se anteckningar. | Det här är strängvärdet som förmedlar det underliggande objektet som objektet representerar till slutanvändaren. Exempel är "Media File" och "Contact". |
UIA_LabeledByPropertyId | Noll | Dataobjektkontroller har ingen statisk textetikett. |
UIA_LocalizedControlTypePropertyId | Se anteckningar. | Lokaliserad sträng som motsvarar DataItem kontrolltyp. Standardvärdet är "dataobjekt" för en-US eller engelska (USA). |
UIA_NamePropertyId | Se anteckningar. | Kontrollen för dataobjekt innehåller alltid ett primärt textelement som användaren skulle känna igen som identifierare för objektet. |
Nödvändiga kontrollmönster
I följande tabell visas de UI Automation-kontrollmönster som krävs för att stödjas av alla kontroller för dataobjekt. Mer information om kontrollmönster finns i UI Automation Control Patterns Overview.
Kontrollmönster | Stöd | Anteckningar |
---|---|---|
IExpandCollapseProvider | Beror | Om dataobjektet kan expanderas eller komprimeras för att visa och dölja information måste ExpandCollapse kontrollmönster stödjas. |
IGridItemProvider | Beror | Dataobjekt stöder GridItem kontrollmönster när en samling dataobjekt är tillgängliga i en container som kan navigeras rumsligt från objekt till objekt. |
IScrollItemProvider | Beror | Alla dataobjekt stöder möjligheten att rullas i vyn med ScrollItem kontrollmönster när deras datacontainer har fler objekt än vad som får plats på skärmen. |
ISelectionItemProvider | Beror | Möjligheten att välja dataobjekt beror på innehållet. |
ITableItemProvider | Beror | Om dataobjektet finns i en DataGrid kontrolltyp som har ett huvudelement bör det ha stöd för TableItem kontrollmönster. |
IToggleProvider | Beror | Om dataobjektet innehåller ett tillstånd som kan växlas igenom bör det ha stöd för Växla kontrollmönster. |
IValueProvider | Beror | Om dataobjektets primära text kan redigeras måste kontrollmönstret Value stödjas. |
Arbeta med DataItems i stora listor
Eftersom stora listor ofta virtualiseras inom gränssnittsramverk för att hjälpa till med prestanda kan en UI Automation-klient inte använda UI Automation-frågefunktionen för att söka i innehållet i det fullständiga trädet på samma sätt som i andra objektcontainrar. En klient bör rulla objektet i vyn (eller expandera kontrollen för att visa alla tillgängliga alternativ) innan du får åtkomst till den fullständiga uppsättningen information från dataobjektet.
När du anropar SetFocus på UI Automation-elementet för dataobjektet returnerar Microsoft Windows Explorer korrekt och gör att fokus ställs in på kontrollen Redigera i underträdet för dataobjektet.
Nödvändiga händelser
I följande tabell visas de UI Automation-händelser som dataobjektkontroller krävs för att stödja. Mer information om händelser finns i UI Automation Events Overview.
UI Automation-händelse | Anteckningar |
---|---|
UIA_AutomationFocusChangedEventId | |
UIA_BoundingRectanglePropertyId händelse som ändrats av egenskapen. | |
UIA_ExpandCollapseExpandCollapseStatePropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder ExpandCollapse kontrollmönster måste den stödja den här händelsen. |
UIA_Invoke_InvokedEventId | Om kontrollen stöder Anropa kontrollmönster måste den stödja den här händelsen. |
UIA_IsEnabledPropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder egenskapen IsEnabled måste den stödja den här händelsen. |
UIA_IsOffscreenPropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder egenskapen IsOffscreen måste den ha stöd för den här händelsen. |
UIA_ItemStatusPropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder egenskapen ItemStatus måste den stödja den här händelsen. |
UIA_NamePropertyId händelse som ändrats av egenskapen. | |
UIA_SelectionItem_ElementAddedToSelectionEventId | Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen. |
UIA_SelectionItem_ElementRemovedFromSelectionEventId | Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen. |
UIA_SelectionItem_ElementSelectedEventId | Om kontrollen stöder SelectionItem kontrollmönster måste den stödja den här händelsen. |
UIA_StructureChangedEventId | |
UIA_ToggleToggleStatePropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder Växla kontrollmönster måste den stödja den här händelsen. |
UIA_ValueValuePropertyId händelse som ändrats av egenskapen. | Om kontrollen stöder kontrollmönstret Value måste den ha stöd för den här händelsen. |
Exempel på DataItem-kontrolltyp
Följande bild visar en DataItem-kontrolltyp i en listvykontroll.
Kontrollvyn och innehållsvyn för UI Automation-trädet som gäller för kontrollen för dataobjekt visas nedan. Kontrollmönstren för varje automationselement visas inom parenteser. Group "Contoso" är också en del av rutnätet i värdkontrollen för datarutnätet. Ett exempel på en rutnätsstruktur på högre nivå finns i DataGrid-kontrolltyp.
Träd för gränssnittsautomatisering – kontrollvy | Träd för gränssnittsautomatisering – innehållsvy |
---|---|
|
|
Om ett rutnät representerar en lista över valbara objekt kan motsvarande valbara gränssnittselement exponeras med ListItem kontrolltyp i stället för DataItem-kontrolltypen. I föregående exempel kan elementen DataItem ("Accounts Receivable.doc" och "Accounts Payable.doc") under Group ("Contoso") förbättras genom att de exponeras som ListItem-kontrolltyper eftersom den typen redan stöder SelectionItem kontrollmönster.
Relaterade ämnen
-
konceptuell
-
översikt över UI Automation-kontrolltyper
-
översikt över UI Automation