Udostępnij za pomocą


Implementacja wzorca kontrolki wyboru dla automatyzacji interfejsu użytkownika

Uwaga / Notatka

Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacji interfejsu użytkownika zdefiniowanych w przestrzeni nazw System.Windows.Automation. Aby uzyskać najnowsze informacje na temat automatyzacji interfejsu użytkownika, zobacz Windows Automation API: Automatyzacja interfejsu użytkownika.

W tym temacie przedstawiono wytyczne i konwencje implementacji ISelectionProvider, w tym informacje o zdarzeniach i właściwościach. Linki do dodatkowych odwołań znajdują się na końcu tematu.

Wzorzec SelectionPattern kontrolki służy do obsługi kontrolek, które działają jako kontenery dla kolekcji elementów podrzędnych, które można wybrać. Elementy podrzędne tego elementu muszą implementować ISelectionItemProvider. Przykłady kontrolek implementujących ten wzorzec kontrolki można znaleźć w temacie Control Pattern Mapping for UI Automation Clients.

Wytyczne i konwencje implementacji

Podczas implementowania wzorca kontrolki Wybór należy pamiętać o następujących wytycznych i konwencjach:

  • Kontrolki implementujące ISelectionProvider zezwalają na wybranie jednego lub wielu elementów podrzędnych. Na przykład pole listy, widok listy i widok drzewa obsługują wiele opcji, natomiast pole kombi, suwak i grupa przycisków radiowych obsługują pojedynczy wybór.

  • Kontrolki, które mają minimalny, maksymalny i ciągły zakres, takie jak kontrolka suwaka głośności , powinny implementować IRangeValueProvider zamiast ISelectionProvider.

  • Kontrolki wyboru jednokrotnego, które zarządzają kontrolkami podrzędnymi, implementującymi IRawElementProviderFragmentRoot, takie jak suwak Rozdzielczość ekranu w oknie dialogowym Właściwości wyświetlania lub kontrolka wyboru Selektora kolorów z programu Microsoft Word (zilustrowane poniżej), powinny implementować ISelectionProvider; ich elementy podrzędne powinny implementować zarówno IRawElementProviderFragment jak i ISelectionItemProvider.

Selektor kolorów z żółtym podświetleniem. Przykład mapowania ciągu wzornika kolorów

  • Menu nie obsługuje SelectionPattern polecenia. Jeśli pracujesz z elementami menu zawierającymi zarówno grafikę, jak i tekst (na przykład elementy okienka podglądu w menu Widok w programie Microsoft Outlook) i musisz przekazać stan, należy zaimplementować element IToggleProvider.

Wymagani członkowie dla ISelectionProvider

Następujące właściwości, metody i zdarzenia są wymagane dla interfejsu ISelectionProvider .

Wymagani członkowie Typ Notatki
CanSelectMultiple Majątek Należy obsługiwać zdarzenia zmiany właściwości przy użyciu AddAutomationPropertyChangedEventHandler i RemoveAutomationPropertyChangedEventHandler.
IsSelectionRequired Majątek Należy obsługiwać zdarzenia zmiany właściwości przy użyciu AddAutomationPropertyChangedEventHandler i RemoveAutomationPropertyChangedEventHandler.
GetSelection Metoda Żaden
InvalidatedEvent Zdarzenie Zgłaszane, gdy wybór w kontenerze uległ znacznej zmianie i wymaga wysyłania więcej zdarzeń dotyczących dodawania i usuwania niż pozwala na to stała InvalidateLimit.

Właściwości IsSelectionRequired i CanSelectMultiple mogą być dynamiczne. Na przykład początkowy stan kontrolki może nie zawierać żadnych elementów wybranych domyślnie, co oznacza, że IsSelectionRequired to false. Jednak po wybraniu elementu kontrolka musi zawsze mieć zaznaczony co najmniej jeden element. Podobnie w rzadkich przypadkach kontrolka może zezwalać na wybór wielu elementów podczas inicjowania, ale następnie zezwala na wybór tylko pojedynczych elementów.

Wyjątki

Dostawcy muszą zgłaszać następujące wyjątki.

Typ wyjątku Warunek
ElementNotEnabledException Jeśli kontrolka nie jest włączona.
InvalidOperationException Jeśli kontrolka jest ukryta.

Zobacz także