Wzorce formantów automatyzacji interfejsu użytkownika — omówienie

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 omówieniu przedstawiono wzorce kontrolek automatyzacja 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 kontrolek 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

Zagregowane kontrolki — utworzone za pomocą kontrolek podrzędnych, które zapewniają interfejs użytkownika (UI) dla funkcji uwidocznionych przez element nadrzędny — powinny implementować wszystkie wzorce kontrolek zwykle skojarzone z każdą kontrolką podrzędną. Z kolei te same wzorce kontrolek nie są wymagane do zaimplementowania przez kontrolki podrzędne.

Składniki wzorca formantu automatyzacja 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 automatyzacja interfejsu użytkownika a elementem nadrzędnym, elementami podrzędnymi i elementami równorzędnymi opisuje strukturę elementu w drzewie automatyzacja interfejsu użytkownika.

  • Metody umożliwiają automatyzacja interfejsu użytkownika klientom 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 automatyzacja interfejsu użytkownika klienci automatyzacja interfejsu użytkownika mogą zapytać, które wzorce kontrolek 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 automatyzacja interfejsu użytkownika implementują element IScrollProvider. Gdy klient wie, że AutomationElement element obsługuje ScrollPattern wzorzec kontrolki, może używać właściwości, metod i zdarzeń uwidocznionych przez ten wzorzec sterowania w celu manipulowania kontrolką lub uzyskiwania dostępu do informacji o kontrolce.

automatyzacja interfejsu użytkownika dostawcy i klienci

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

automatyzacja interfejsu użytkownika klienci uzyskują dostęp do metod i właściwości klas wzorców kontroli automatyzacja 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 metody dostępu środowiska uruchomieniowego języka wspólnego (CLR) w celu uzyskania dostępu do właściwości automatyzacja interfejsu użytkownika we wzorcu. 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 pobrać ten wzorzec dla AutomationElementelementu .

Dynamiczne wzorce kontrolek

Niektóre kontrolki nie zawsze obsługują ten sam zestaw wzorców kontrolek. Wzorce kontrolek są uznawane za obsługiwane, gdy są dostępne dla klienta automatyzacja 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 automatyzacja interfejsu użytkownika. W tabeli wymieniono również klasy używane przez klientów automatyzacja interfejsu użytkownika do uzyskiwania dostępu do wzorców kontroli, a także interfejsy używane przez dostawców automatyzacja interfejsu użytkownika do ich implementowania.

Klasa wzorca kontrolki Interfejs dostawcy opis
DockPattern IDockProvider Służy do kontrolek, które można zadokować 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 wywoływanych kontrolek, takich jak przycisk.
MultipleViewPattern IMultipleViewProvider Służy do kontrolek, które mogą przełączać się między wieloma reprezentacjami tego samego zestawu informacji, danych lub elementów podrzędnych. Na przykład kontrolka widoku listy, w której dane są dostępne w widokach miniatury, kafelka, ikony, listy lub szczegółów.
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 kontrolek, które mogą 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, taką jak kontrolka pola kombi.
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 Służy do obsługi 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 kontrolek, w których można przełączać stan. Na przykład pola wyboru i elementy menu z możliwością sprawdzania.
TransformPattern ITransformProvider Służy do kontrolek, które można zmieniać, przenosić i obracać. Typowe zastosowania wzorca kontrolki Przekształć dotyczą projektantów, formularzy, edytorów graficznych i aplikacji rysunkowych.
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 też