Dela via


Listkontrolltyp

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

Kontrolltypen List är ett sätt att ordna en platt grupp eller grupper med objekt och gör att en användare kan välja ett eller flera av dessa objekt. -listan kontrolltyp har en lös begränsning för vilka typer av underordnade element den kan innehålla. Detta gör det möjligt för UI Automation-leverantörer att stödja ett välkänt element för urvalscontainrar.

I följande avsnitt definieras den nödvändiga UI Automation-trädstrukturen, egenskaperna, kontrollmönstren och händelserna för List kontrolltyp. Kraven för användargränssnittsautomatisering gäller för alla listkontroller 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 listkontroller 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
Innehåller de element som motsvarar kontroller. Tar bort redundant information från trädet så att hjälpmedelstekniker fungerar med den minsta uppsättningen information som är meningsfull för slutanvändaren.
  • Lista
    • DataItem (0 eller mer)
    • ListItem (0 eller mer)
    • Grupp (0 eller mer)
    • Rullningslist (0, 1 eller 2)
  • Lista
    • DataItem (0 eller mer)
    • ListItem (0 eller mer)
    • Grupp (0 eller mer)

Kontrollvyn för en kontroll som implementerar kontrolltypen Lista (till exempel en listkontroll) består av:

  • Noll eller fler objekt i listkontrollen (objekt kan baseras på ListItem- eller DataItem kontrolltyper)
  • Noll eller fler gruppkontroller i en listkontroll
  • Kontroller med noll, en eller två rullningslister

Innehållsvyn för en kontroll som implementerar kontrolltypen Lista (till exempel en listkontroll) består av:

  • Noll eller fler objekt i listkontrollen (objekt kan baseras på ListItem- eller DataItem kontrolltyper)
  • Noll eller fler grupper i listkontrollen

En listkontroll får inte ha objekt som har en annan hierarkisk relation än att grupperas tillsammans. Om objekten har underordnade objekt i UI Automation-trädet bör listcontainern baseras på kontrolltypen Tree.

De valbara objekten i listkontrollen kommer att vara tillgängliga från underordnade objekt i UI Automation-trädet i listkontrollen. Alla objekt i listkontrollen måste tillhöra samma urvalsgrupp. De valbara objekten i listan ska visas som ListItem- (i stället för DataItem) kontrolltyper.

Relevanta egenskaper

I följande tabell visas UI Automation-egenskaper vars värde eller definition är särskilt relevant för List 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.
UIA_BoundingRectanglePropertyId Se anteckningar. Den yttersta rektangeln som innehåller hela kontrollen.
UIA_ClickablePointPropertyId Se anteckningar. 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 värdet för egenskapen UIA_IsOffscreenPropertyId är TRUEresulterar försök att hämta den här egenskapen i det UIA_E_NOCLICKABLEPOINT felet.
UIA_ControlTypePropertyId Lista
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. "Om du till exempel väljer ett objekt från den här listan anges bildskärmsupplösningen för din bildskärm."
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 kontrollen kan få tangentbordsfokus måste den ha stöd för den här egenskapen.
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 List kontrolltyp. Standardvärdet är "list" för en-US eller engelska (USA).
UIA_NamePropertyId Se anteckningar. Värdet för en listkontrolls egenskap Namn ska förmedla den kategori av alternativ som användaren uppmanas att välja bland. Den här egenskapen hämtar vanligtvis sitt namn från en statisk textetikett. Om det inte finns en statisk textetikett måste programutvecklaren exponera ett värde för egenskapen Name.
Den enda gången den här egenskapen inte krävs för listkontroller är om kontrollen används i underträdet för en annan kontroll.

Obligatoriska kontrollmönster och egenskaper

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

Kontrollmönster/mönsteregenskap Support/värde Anteckningar
IGridProvider Beror Implementera Grid kontrollmönster när rutnätsnavigering måste vara tillgängligt för ett objekt efter objekt.
IMultipleViewProvider Beror Implementera kontrollmönstret MultipleView om kontrollen kan stödja flera vyer av objekten i containern.
IScrollProvider Beror Implementera kontrollmönstret Bläddra om objekt i containern är rullningsbara.
ISelectionProvider Beror Om en kontroll stöder den listkontrolltyp som stöder markering, måste kontrollen implementera markering kontrollmönster när ett markeringstillstånd underhålls mellan objekten i kontrollen. Om objekten i kontrollen inte kan väljas kan grupp kontrolltyp användas.
CanSelectMultiple Beror Listkontroller kan vara containrar med en eller flera val.
IsSelectionRequired Beror Listkontroller kräver inte alltid att ett objekt markeras.
ITableProvider Aldrig Kontrollmönstret Table stöds aldrig för kontrolltypen List. Om kontrollen behöver stöd för det här kontrollmönstret bör kontrollen baseras på DataGrid kontrolltyp.

Nödvändiga händelser

I följande tabell visas de UI Automation-händelser som listkontroller 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_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_LayoutInvalidatedEventId Om layouten för underordnade objekt kan ändras måste kontrollen ha stöd för den här händelsen.
UIA_MultipleViewCurrentViewPropertyId händelse som ändrats av egenskapen. Om kontrollen stöder MultipleView- kontrollmönster måste den ha stöd för den här händelsen.
UIA_ScrollHorizontallyScrollablePropertyId händelse som ändrats av egenskapen. Om kontrollen stöder kontrollmönstret Bläddra måste den ha stöd för den här händelsen.
UIA_ScrollHorizontalScrollPercentPropertyId händelse som ändrats av egenskapen. Om kontrollen stöder kontrollmönstret Bläddra måste den ha stöd för den här händelsen.
UIA_ScrollHorizontalViewSizePropertyId händelse som ändrats av egenskapen. Om kontrollen stöder kontrollmönstret Bläddra måste den ha stöd för den här händelsen.
UIA_ScrollVerticalScrollPercentPropertyId händelse som ändrats av egenskapen. Om kontrollen stöder kontrollmönstret Bläddra måste den ha stöd för den här händelsen.
UIA_ScrollVerticallyScrollablePropertyId händelse som ändrats av egenskapen. Om kontrollen stöder kontrollmönstret Bläddra måste den ha stöd för den här händelsen.
UIA_ScrollVerticalViewSizePropertyId händelse som ändrats av egenskapen. Om kontrollen stöder kontrollmönstret Bläddra måste den ha stöd för den här händelsen.
UIA_Selection_InvalidatedEventId Om kontrollen stöder kontrollmönstret Selection måste den ha stöd för den här händelsen.
UIA_StructureChangedEventId

konceptuell

översikt över UI Automation-kontrolltyper

översikt över UI Automation