Implementowanie wzorca kontrolki przewijania automatyzacja interfejsu użytkownika
Uwaga
Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacja interfejsu użytkownika zdefiniowanych w System.Windows.Automation przestrzeni nazw. Aby uzyskać najnowsze informacje na temat automatyzacja interfejsu użytkownika, zobacz Interfejs API usługi Windows Automation: automatyzacja interfejsu użytkownika.
W tym artykule przedstawiono wytyczne i konwencje implementacji IScrollProvider, w tym informacje o zdarzeniach i właściwościach. Linki do dodatkowych odwołań znajdują się na końcu tematu.
Wzorzec ScrollPattern kontrolki służy do obsługi kontrolki, która działa jako kontener przewijany dla kolekcji obiektów podrzędnych. Kontrolka nie jest wymagana do używania pasków przewijania do obsługi funkcji przewijania, chociaż często jest to możliwe.
Przykład kontrolki przewijania, która nie używa pasków przewijania
Przykłady kontrolek implementujących tę kontrolkę można znaleźć w temacie Mapowanie wzorca kontrolek dla klientów automatyzacja interfejsu użytkownika.
Wytyczne i konwencje implementacji
Podczas implementowania wzorca kontrolki Przewijanie należy zwrócić uwagę na następujące wytyczne i konwencje:
Elementy podrzędne tej kontrolki muszą implementować element IScrollItemProvider.
Paski przewijania kontrolki kontenera nie obsługują wzorca kontrolki ScrollPattern . Zamiast tego muszą obsługiwać wzorzec kontrolki RangeValuePattern .
Podczas przewijania jest mierzona w procentach, wszystkie wartości lub kwoty związane z ukończeniem przewijania muszą być znormalizowane do zakresu od 0 do 100.
HorizontallyScrollablePropertyi VerticallyScrollableProperty są niezależne od .IsEnabledProperty
Jeśli HorizontallyScrollableProperty =
false
wtedy HorizontalViewSizeProperty należy ustawić wartość 100% i HorizontalScrollPercentProperty powinna być ustawiona na NoScrollwartość . Analogicznie, jeśli VerticallyScrollableProperty =false
zostanie VerticalViewSizeProperty ustawiona wartość 100 procent i VerticalScrollPercentProperty powinna być ustawiona na NoScrollwartość . Dzięki temu klient automatyzacja interfejsu użytkownika używa tych wartości właściwości w SetScrollPercent metodzie, unikając warunku wyścigu, jeśli kierunek, w jakim klient nie jest zainteresowany przewijaniem, staje się aktywowany.HorizontalScrollPercent jest specyficzny dla ustawień regionalnych. Ustawienie horizontalScrollPercent = 100.0 musi ustawić lokalizację przewijania kontrolki na odpowiednik prawej pozycji języków, takich jak angielski, który odczytał od lewej do prawej. Alternatywnie w przypadku języków, takich jak arabski, które odczytują od prawej do lewej, ustawienie HorizontalScrollPercent = 100.0 musi ustawić lokalizację przewijania na położenie najdalej po lewej stronie.
Wymagane elementy członkowskie dla dostawcy IScrollProvider
Następujące właściwości i metody są wymagane do zaimplementowania IScrollProvidermetody .
Wymagany element członkowski | Typ elementu członkowskiego | Uwagi |
---|---|---|
HorizontalScrollPercent | Właściwości | Brak |
VerticalScrollPercent | Właściwości | Brak |
HorizontalViewSize | Właściwości | Brak |
VerticalViewSize | Właściwości | Brak |
HorizontallyScrollable | Właściwości | Brak |
VerticallyScrollable | Właściwości | Brak |
Scroll | Method | Brak |
SetScrollPercent | Method | Brak |
Ten wzorzec kontrolki nie ma skojarzonych zdarzeń.
Wyjątki
Dostawcy muszą zgłaszać następujące wyjątki.
Typ wyjątku | Stan |
---|---|
ArgumentException | Scroll zgłasza ten wyjątek, jeśli kontrolka obsługuje SmallIncrement wyłącznie wartości dla przewijania poziomego lub pionowego, ale LargeIncrement wartość jest przekazywana. |
ArgumentException | SetScrollPercent zgłasza ten wyjątek, gdy wartość, której nie można przekonwertować na wartość podwójną, jest przekazywana. |
ArgumentOutOfRangeException | SetScrollPercent zgłasza ten wyjątek, gdy wartość większa niż 100 lub mniejsza niż 0 jest przekazywana (z wyjątkiem -1, która jest równoważna NoScroll). |
InvalidOperationException | Zarówno Scroll , jak i SetScrollPercent zgłasza ten wyjątek, gdy zostanie podjęta próba przewinięcia w nieobsługiwanym kierunku. |
Zobacz też
- Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie
- Obsługa wzorców kontrolek dostawcy automatyzacji interfejsu użytkownika
- Wzorce kontrolek automatyzacji interfejsu użytkownika dla klientów
- Przegląd drzewa automatyzacji interfejsu użytkownika
- Używanie buforowania w automatyzacji interfejsu użytkownika