Implementera mönstret UI Automation-rullningskontroll
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.
Den här artikeln innehåller riktlinjer och konventioner för att implementera IScrollProvider, inklusive information om händelser och egenskaper. Länkar till ytterligare referenser visas i slutet av ämnet.
Kontrollmönstret ScrollPattern används för att stödja en kontroll som fungerar som en rullningsbar container för en samling underordnade objekt. Kontrollen krävs inte för att använda rullningslister för att stödja rullningsfunktionen, även om den ofta gör det.
Exempel på en rullningskontroll som inte använder rullningslister
Exempel på kontroller som implementerar den här kontrollen finns i Kontrollera mönstermappning för UI Automation-klienter.
Riktlinjer och konventioner för implementering
När du implementerar mönstret För rullningskontroll bör du tänka på följande riktlinjer och konventioner:
Underordnade i den här kontrollen måste implementera IScrollItemProvider.
Rullningslisterna i en containerkontroll stöder ScrollPattern inte kontrollmönstret. De måste ha stöd för RangeValuePattern kontrollmönstret i stället.
När rullning mäts i procent måste alla värden eller belopp som är relaterade till rullningsgradering normaliseras till intervallet 0 till 100.
HorizontallyScrollableProperty och VerticallyScrollableProperty är oberoende av IsEnabledProperty.
Om HorizontallyScrollableProperty =
false
sedan HorizontalViewSizeProperty ska anges till 100 % och HorizontalScrollPercentProperty ska anges till NoScroll. På samma sätt, om VerticallyScrollableProperty =false
så VerticalViewSizeProperty ska anges till 100 procent och VerticalScrollPercentProperty ska anges till .NoScroll Detta gör att en UI Automation-klient kan använda dessa egenskapsvärden i SetScrollPercent metoden samtidigt som ett konkurrenstillstånd undviks om en riktning som klienten inte är intresserad av att rulla aktiveras.HorizontalScrollPercent är språkspecifikt. Inställningen HorizontalScrollPercent = 100.0 måste ange kontrollens rullningsplats till motsvarande dess position längst till höger för språk som engelska som läser från vänster till höger. Alternativt, för språk som arabiska som läser från höger till vänster, måste inställningen HorizontalScrollPercent = 100.0 ange rullningsplatsen till den vänstra positionen.
Nödvändiga medlemmar för IScrollProvider
Följande egenskaper och metoder krävs för att implementera IScrollProvider.
Obligatorisk medlem | Medlemstyp | Kommentar |
---|---|---|
HorizontalScrollPercent | Property | Ingen |
VerticalScrollPercent | Property | Ingen |
HorizontalViewSize | Property | Ingen |
VerticalViewSize | Property | Ingen |
HorizontallyScrollable | Property | Ingen |
VerticallyScrollable | Property | Ingen |
Scroll | Metod | Ingen |
SetScrollPercent | Metod | Ingen |
Det här kontrollmönstret har inga associerade händelser.
Undantag
Leverantörer måste utlösa följande undantag.
Undantagstyp | Villkor |
---|---|
ArgumentException | Scroll genererar det här undantaget om en kontroll endast stöder SmallIncrement värden för vågrät eller lodrät rullning, men ett LargeIncrement värde skickas in. |
ArgumentException | SetScrollPercent genererar det här undantaget när ett värde som inte kan konverteras till en dubbel skickas in. |
ArgumentOutOfRangeException | SetScrollPercent genererar det här undantaget när ett värde som är större än 100 eller mindre än 0 skickas in (utom -1 som motsvarar NoScroll). |
InvalidOperationException | Både Scroll och SetScrollPercent utlöser det här undantaget när ett försök görs att rulla i en riktning som inte stöds. |