Dela via


ListItem-kontrolltyp

Det här avsnittet innehåller information om Microsoft UI Automation-stöd för kontrolltypen ListItem.

Listobjektkontroller är ett exempel på kontroller som implementerar ListItem kontrolltyp.

I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaperna, kontrollmönstren och händelserna för ListItem kontrolltyp. Kraven för UI Automation gäller för alla listobjektkontroller 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

I följande tabell visas en typisk kontroll- och innehållsvy över UI Automation-trädet som gäller för listobjektkontroller 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
  • ListItem
    • Bild (0 eller mer)
    • Text (0 eller mer)
    • Redigera (0 eller fler)
  • ListItem

 

Underordnade objekt i en listobjektkontroll i innehållsvyn i UI Automation-trädet måste alltid visa noll underordnade objekt. Om kontrollens struktur är sådan att andra objekt finns under listobjektet bör den följa kraven för UI Automation-stöd för TreeItem kontrolltyp.

Relevanta egenskaper

I följande tabell visas de UI Automation-egenskaper vars värde eller definition är särskilt relevant för ListItem kontrolltyp. 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. Allokera egenskapen AutomationId för ett listobjekt om elementet är känt för att vara konsekvent mellan olika instanser av användargränssnittet. Om listobjektet är dynamiskt fyllt och inte förutsägbart lämnar du egenskapen AutomationId tom.
UIA_BoundingRectanglePropertyId Se anteckningar. Det här värdet för den här egenskapen bör innehålla området för bild- och textinnehållet i listobjektet.
UIA_ClickablePointPropertyId Beror Om listkontrollen har en klickbar punkt (en punkt som kan klickas för att få listan att fokusera) måste den punkten exponeras via den här egenskapen. Om listkontrollen är helt täckt av underordnade listobjekt returneras felet UIA_E_NOCLICKABLEPOINT för att indikera att klienten måste be ett objekt i listkontrollen om en klickbar punkt.
UIA_ControlTypePropertyId ListItem Det här värdet är detsamma för alla gränssnittsramverk.
UIA_HelpTextPropertyId Se anteckningar. Hjälptexten för listkontroller bör förklara varför användaren uppmanas att göra ett val från en lista med alternativ, vilket vanligtvis är samma typ av information som presenteras via en knappbeskrivning. Till exempel "Välj ett objekt för att ange bildskärmens bildskärmsupplösning".
UIA_IsContentElementPropertyId TRUE Listkontrollen ingår alltid i innehållsvyn i UI Automation-trädet.
UIA_IsControlElementPropertyId TRUE Listkontrollen ingår alltid i kontrollvyn för UI Automation-trädet.
UIA_IsKeyboardFocusablePropertyId Se anteckningar. Om containern kan acceptera tangentbordsindata bör det här egenskapsvärdet vara TRUE.
UIA_IsOffscreenPropertyId Beror Den här egenskapen måste returnera ett värde för om listobjektet för närvarande rullas i vyn i den överordnade containern som implementerar rullningslist kontrollmönster.
UIA_ItemStatusPropertyId Beror 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 Beror Den här egenskapen bör exponeras för listobjektkontroller som representerar ett underliggande objekt. Dessa listobjektkontroller har vanligtvis en ikon som är associerad med den kontroll som användarna associerar med det underliggande objektet.
UIA_LabeledByPropertyId Se anteckningar. Om det finns en statisk textetikett måste den här egenskapen exponera en referens till den kontrollen.
UIA_LocalizedControlTypePropertyId Se anteckningar. Lokaliserad sträng som motsvarar ListItem kontrolltyp. Standardvärdet är "listobjekt" för en-US eller engelska (USA).
UIA_NamePropertyId Se anteckningar. Värdet för en listobjektkontrolls namnegenskap kommer från objektets textetikett.

 

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 listobjektkontroller. Mer information om kontrollmönster finns i UI Automation Control Patterns Overview.

Kontrollmönster Stöd Anteckningar
IExpandCollapseProvider Beror Om objektet kan ändras för att visa eller dölja information måste ExpandCollapse kontrollmönster implementeras.
IGridItemProvider Beror Om rumslig navigering mellan objekt stöds i listcontainern och containern är ordnad i rader och kolumner, måste GridItem kontrollmönster implementeras.
IInvokeProvider Beror Om objektet har ett kommando som kan utföras på det, separat från markeringen, måste Anropa kontrollmönster implementeras. Detta är vanligtvis en åtgärd som är associerad med att dubbelklicka på listobjektkontrollen. Exempel är att starta ett dokument från Utforskaren eller spela upp en musikfil i Microsoft Windows Media Player.
IScrollItemProvider Beror Om listobjektet finns i en container som är rullningsbar måste ScrollItem kontrollmönstret implementeras.
ISelectionItemProvider Beror En listobjektkontroll som stöder markering måste implementera kontrollmönstret SelectionItem. Detta gör att listobjektkontroller kan förmedlas när de väljs.
IToggleProvider Beror Om listobjektet kan kontrolleras och åtgärden inte utför en ändring av markeringstillståndet måste Växla kontrollmönster implementeras.
IValueProvider Beror Om objektet kan redigeras måste value-kontrollmönstret implementeras. Ändringar i listobjektkontrollen gör att värdena för egenskaperna UIA_NamePropertyId och UIA_ValueValuePropertyId ändras.

 

Nödvändiga händelser

I följande tabell visas de UI Automation-händelser som listobjektkontroller 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.

 

Anmärkningar

Om en container är värd för listobjekt bör det primära navigeringssättet gå till listobjekten. Att fokusera på underelement via listnavigering kan vara förvirrande för användare och hjälpmedelsverktyg. Om containern är värd för en lodrät lista över objekt bör du navigera genom objekten genom att trycka på uppåtpilen och NEDÅTPILen, men om du trycker på högerpilen och vänsterpilen kan du navigera till underelement i det fokuserade objektet, till exempel listkolumner eller underelement för användargränssnittet.

konceptuell

översikt över UI Automation-kontrolltyper

översikt över UI Automation