Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
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
- Omówienie wzorców automatyzacji kontrolek interfejsu użytkownika
- obsługują wzorce kontrolek w dostawcy automatyzacji interfejsu użytkownika
- Wzorce kontrolek automatyzacji interfejsu użytkownika dla klientów
- Implementowanie wzorca kontrolki SelectionItem automatyzacji interfejsu użytkownika
- Omówienie drzewa automatyzacji interfejsu użytkownika
- Użyj buforowania w automatyzacji interfejsu użytkownika