Implementera UI Automation-markeringskontrollmönstret

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 riktlinjer och konventioner för att implementera ISelectionProvider, inklusive information om händelser och egenskaper. Länkar till ytterligare referenser visas i slutet av ämnet.

Kontrollmönstret SelectionPattern används för att stödja kontroller som fungerar som containrar för en samling av valbara underordnade objekt. Underordnade elementet måste implementera ISelectionItemProvider. Exempel på kontroller som implementerar det här kontrollmönstret finns i Kontrollmönstermappning för UI Automation-klienter.

Riktlinjer och konventioner för implementering

Observera följande riktlinjer och konventioner när du implementerar mönstret Urvalskontroll:

  • Kontroller som implementerar ISelectionProvider tillåter att antingen enstaka eller flera underordnade objekt väljs. Till exempel stöder listruta, listvy och trädvy flera val medan kombinationsruta, skjutreglage och alternativknappgrupp stöder enkel markering.

  • Kontroller som har ett minsta, maximalt och kontinuerligt intervall, till exempel skjutreglaget Volym , bör implementeras IRangeValueProvider i stället för ISelectionProvider.

  • Envalskontroller som hanterar underordnade kontroller som implementerar IRawElementProviderFragmentRoot, till exempel skjutreglaget Skärmmatchning i dialogrutan Visningsegenskaper eller markeringskontrollen För färgväljare från Microsoft Word (visas nedan), bör implementera ISelectionProvider; deras underordnade bör implementera både IRawElementProviderFragment och ISelectionItemProvider.

Color picker with yellow highlighted. Exempel på färgrutesträngsmappning

  • Menyer stöder SelectionPatterninte . Om du arbetar med menyalternativ som innehåller både grafik och text (till exempel förhandsgranskningsfönstrets objekt i menyn Visa i Microsoft Outlook) och behöver förmedla tillstånd bör du implementera IToggleProvider.

Obligatoriska medlemmar för ISelectionProvider

Följande egenskaper, metoder och händelser krävs för ISelectionProvider gränssnittet.

Obligatoriska medlemmar Type Anteckningar
CanSelectMultiple Property Bör stödja ändrade händelser för egenskapen med hjälp av AddAutomationPropertyChangedEventHandler och RemoveAutomationPropertyChangedEventHandler.
IsSelectionRequired Property Bör stödja ändrade händelser för egenskapen med hjälp av AddAutomationPropertyChangedEventHandler och RemoveAutomationPropertyChangedEventHandler.
GetSelection Metod Ingen
InvalidatedEvent Event Utlöses när ett val i en container har ändrats avsevärt och kräver att fler additions- och borttagningshändelser skickas än vad konstanten InvalidateLimit tillåter.

Egenskaperna IsSelectionRequired och CanSelectMultiple kan vara dynamiska. Det ursprungliga tillståndet för en kontroll kanske till exempel inte har några objekt valda som standard, vilket anger att IsSelectionRequired är false. Men när ett objekt har valts måste kontrollen alltid ha minst ett objekt markerat. På samma sätt kan en kontroll i sällsynta fall tillåta att flera objekt väljs vid initiering, men därefter endast tillåta att enskilda val görs.

Undantag

Leverantörer måste utlösa följande undantag.

Undantagstyp Villkor
ElementNotEnabledException Om kontrollen inte är aktiverad.
InvalidOperationException Om kontrollen är dold.

Se även