Udostępnij za pośrednictwem


Implementacja wzorca formantu wyboru automatyzacji 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 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ć ISelectionItemProviderelement . Przykłady kontrolek implementujących ten wzorzec kontrolki można znaleźć w temacie Control Pattern Mapping for automatyzacja interfejsu użytkownika Clients (Mapowanie wzorca kontrolek dla klientów automatyzacja interfejsu użytkownika).

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, które implementują IRawElementProviderFragmentRootkontrolki , 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ć wartości ; ich elementy podrzędne powinny implementować ISelectionProviderzarówno IRawElementProviderFragment , jak i ISelectionItemProvider.

Color picker with yellow highlighted. Przykład mapowania ciągu próbki kolorów

  • Menu nie obsługują SelectionPatternpolecenia . 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.

Wymagane elementy członkowskie dla elementu ISelectionProvider

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

Wymagane elementy członkowskie Type Uwagi
CanSelectMultiple Właściwości Powinna obsługiwać zdarzenia zmienione właściwości przy użyciu i AddAutomationPropertyChangedEventHandlerRemoveAutomationPropertyChangedEventHandler.
IsSelectionRequired Właściwości Powinna obsługiwać zdarzenia zmienione właściwości przy użyciu i AddAutomationPropertyChangedEventHandlerRemoveAutomationPropertyChangedEventHandler.
GetSelection Method Brak
InvalidatedEvent Zdarzenie Zgłaszane, gdy wybór w kontenerze uległ znacznej zmianie i wymaga wysyłania większej InvalidateLimit liczby zdarzeń dodawania i usuwania niż stałe zezwolenia.

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 Stan
ElementNotEnabledException Jeśli kontrolka nie jest włączona.
InvalidOperationException Jeśli kontrolka jest ukryta.

Zobacz też