Udostępnij za pośrednictwem


Omówienie wzorców kontroli 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 omówieniu przedstawiono wzorce kontrolek automatyzacji interfejsu użytkownika firmy Microsoft. Wzorce kontrolek umożliwiają kategoryzowanie i uwidacznianie funkcjonalności kontrolki niezależnie od typu kontrolki lub wyglądu kontrolki.

Automatyzacja interfejsu użytkownika używa wzorców sterowania do reprezentowania typowych zachowań kontrolek. Można na przykład użyć wzorca kontrolki Wywołaj dla kontrolek, które można wywołać (na przykład przycisków) i wzorca kontrolki Przewijanie dla kontrolek z paskami przewijania (takimi jak pola listy, widoki listy lub pola kombi). Ponieważ każdy wzorzec kontrolki reprezentuje oddzielne funkcje, można je połączyć w celu opisania pełnego zestawu funkcji obsługiwanych przez określoną kontrolkę.

Uwaga / Notatka

Kontrolki zbiorcze — utworzone za pomocą kontrolek podrzędnych, które zapewniają interfejs użytkownika dla funkcji udostępnianych przez element nadrzędny — powinny implementować wszystkie wzorce kontrolek zwykle skojarzone z każdą kontrolką podrzędną. Z kolei te same wzorce kontrolek nie muszą być zaimplementowane przez kontrolki podrzędne.

Składniki wzorca kontrolki automatyzacji interfejsu użytkownika

Wzorce kontrolek obsługują metody, właściwości, zdarzenia i relacje potrzebne do zdefiniowania dyskretnej funkcjonalności dostępnej w kontrolce.

  • Relacja między elementem automatyzacji interfejsu użytkownika a jego elementem nadrzędnym, elementami podrzędnymi i elementami równorzędnymi opisuje strukturę elementu wewnątrz drzewa automatyzacji interfejsu użytkownika.

  • Metody umożliwiają klientom automatyzacji interfejsu użytkownika manipulowanie kontrolką.

  • Właściwości i zdarzenia zawierają informacje o funkcjonalności wzorca kontrolki, a także informacje o stanie kontrolki.

Wzorce kontrolek odnoszą się do interfejsu użytkownika, ponieważ interfejsy odnoszą się do obiektów modelu obiektów składników (COM). W modelu COM możesz wykonać zapytanie dotyczące obiektu, aby zapytać, jakie interfejsy obsługuje, a następnie użyć tych interfejsów, aby uzyskać dostęp do funkcji. W usłudze Automatyzacja interfejsu użytkownika klienci automatyzacji interfejsu użytkownika mogą zapytać o kontrolkę, które wzorce sterujące obsługuje, a następnie wchodzić w interakcję z kontrolką za pośrednictwem właściwości, metod, zdarzeń i struktur uwidocznionych przez obsługiwane wzorce kontrolek. Na przykład w przypadku pola edycji wielowierszowej dostawcy automatyzacji interfejsu użytkownika implementują element IScrollProvider. Gdy klient wie, że AutomationElement kontrolka obsługuje ScrollPattern wzorzec kontrolny, może używać właściwości, metod i zdarzeń udostępnionych przez ten wzorzec w celu manipulowania kontrolką lub uzyskania informacji o niej.

Dostawcy automatyzacji interfejsu użytkownika i klienci

Dostawcy automatyzacji interfejsu użytkownika implementują wzorce sterowania, aby uwidocznić odpowiednie zachowanie dla określonego elementu funkcjonalności obsługiwanej przez kontrolkę.

Klienci automatyzacji interfejsu użytkownika uzyskują dostęp do metod i właściwości klas wzorców sterowania automatyzacji interfejsu użytkownika i używają ich do uzyskiwania informacji o interfejsie użytkownika lub manipulowania interfejsem użytkownika. Te klasy wzorców kontrolek znajdują się w System.Windows.Automation przestrzeni nazw (na przykład InvokePattern i SelectionPattern).

Klienci używają AutomationElement metod (takich jak AutomationElement.GetCurrentPropertyValue lub AutomationElement.GetCachedPropertyValue) lub dostępu środowiska uruchomieniowego języka wspólnego (CLR), aby uzyskać dostęp do właściwości automatyzacji interfejsu użytkownika w ramach wzorca. Każda klasa wzorca kontrolki ma składową pola (na przykład InvokePattern.Pattern lub SelectionPattern.Pattern), która identyfikuje ten wzorzec kontrolki i może zostać przekazana jako parametr do GetCachedPattern lub GetCurrentPattern aby pobrać ten wzorzec dla elementu AutomationElement.

Dynamiczne wzorce kontrolek

Niektóre kontrolki nie zawsze obsługują ten sam zestaw wzorców kontrolek. Wzorce sterowania są uznawane za obsługiwane, gdy są dostępne dla klienta automatyzacji interfejsu użytkownika. Na przykład pole edycji wielowierszowej umożliwia przewijanie w pionie tylko wtedy, gdy zawiera więcej wierszy tekstu niż można wyświetlić w obszarze widocznym. Przewijanie jest wyłączone po usunięciu wystarczającej ilości tekstu, aby przewijanie nie było już wymagane. W tym przykładzie wzorzec kontrolki ScrollPattern jest dynamicznie obsługiwany w zależności od bieżącego stanu kontrolki (ile tekstu znajduje się w polu edycji).

Klasy i interfejsy wzorca kontrolek

W poniższej tabeli opisano wzorce kontrolek automatyzacji interfejsu użytkownika. W tabeli wymieniono również klasy używane przez klientów automatyzacji interfejsu użytkownika do uzyskiwania dostępu do wzorców kontroli, a także interfejsy używane przez dostawców automatyzacji interfejsu użytkownika do ich implementowania.

Klasa wzorca kontrolki Interfejs dostawcy Opis
DockPattern IDockProvider Służy do elementów sterujących, które można zakotwiczyć w kontenerze dokowania. Na przykład paski narzędzi lub palety narzędzi.
ExpandCollapsePattern IExpandCollapseProvider Służy do obsługi kontrolek, które można rozwinąć lub zwinąć. Na przykład elementy menu w aplikacji, takie jak menu Plik .
GridPattern IGridProvider Służy do kontrolek obsługujących funkcje siatki, takie jak ustalanie rozmiaru i przechodzenie do określonej komórki. Na przykład duży widok ikon w Eksploratorze Windows lub prostych tabelach bez nagłówków w programie Microsoft Word.
GridItemPattern IGridItemProvider Służy do kontrolek, które mają komórki w siatkach. Poszczególne komórki powinny obsługiwać wzorzec GridItem. Na przykład każda komórka w widoku szczegółów Eksploratora Microsoft Windows.
InvokePattern IInvokeProvider Służy do kontrolek, które można wywołać, takich jak przycisk.
MultipleViewPattern IMultipleViewProvider Służy do kontrolki, która może przełączać się między wieloma reprezentacjami tego samego zestawu informacji, danych lub elementów interfejsu. Na przykład kontrolka listy widoków, w której dane są dostępne w miniaturze, ikonie, kafelku, liście lub szczegółach.
RangeValuePattern IRangeValueProvider Służy do kontrolek, które mają zakres wartości, które można zastosować do kontrolki. Na przykład kontrolka spinner zawierająca lata może mieć zakres od 1900 do 2010, podczas gdy inna kontrolka spinner przedstawiająca miesiące będzie miała zakres od 1 do 12.
ScrollPattern IScrollProvider Służy do elementów sterujących, które można przewijać. Na przykład kontrolka zawierająca paski przewijania, które są aktywne, gdy istnieje więcej informacji niż można wyświetlić w widocznym obszarze kontrolki.
ScrollItemPattern IScrollItemProvider Służy do kontrolek, które mają poszczególne elementy na liście, która się przewija. Na przykład kontrolka listy zawierająca poszczególne elementy na liście przewijania, na przykład kontrolka pola rozwijanego.
SelectionPattern ISelectionProvider Służy do wybierania kontrolek kontenera. Na przykład pola listy i pola kombi.
SelectionItemPattern ISelectionItemProvider Służy do poszczególnych elementów w kontrolkach kontenera wyboru, takich jak pola listy i pola kombi.
TablePattern ITableProvider Służy do kontrolek, które mają siatkę, a także informacje nagłówka. Na przykład arkusze programu Microsoft Excel.
TableItemPattern ITableItemProvider Używane do elementów w tabeli.
TextPattern ITextProvider Służy do edytowania kontrolek i dokumentów, które uwidaczniają informacje tekstowe.
TogglePattern IToggleProvider Służy do elementów sterujących, których stan można przełączać. Na przykład pola wyboru i elementy menu z możliwością sprawdzania.
TransformPattern ITransformProvider Służy do elementów sterujących, które można zmieniać rozmiar, przenosić i obracać. Typowe zastosowania wzorca kontrolki 'Przekształcenie' obejmują projektowanie, formularze, edytory graficzne i aplikacje do rysowania.
ValuePattern IValueProvider Umożliwia klientom pobieranie lub ustawianie wartości dla kontrolek, które nie obsługują zakresu wartości. Na przykład selektor daty i godziny.
WindowPattern IWindowProvider Uwidacznia informacje specyficzne dla systemu Windows — podstawową koncepcję systemu operacyjnego Microsoft Windows. Przykłady kontrolek, które są oknami aplikacji najwyższego poziomu (Microsoft Word, Microsoft Windows Explorer itd.), oknami podrzędnymi interfejsu wielu dokumentów (MDI) i oknami dialogowymi.

Zobacz także