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.
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. |