Wzorce formantów automatyzacji interfejsu użytkownika — omówienieUI Automation Control Patterns Overview

Uwaga

Ta dokumentacja jest przeznaczona dla .NET Framework deweloperów, którzy chcą korzystać z zarządzanych klas Automatyzacja interfejsu użytkownikaUI Automation zdefiniowanych w przestrzeni nazw System.Windows.Automation.This documentation is intended for .NET Framework developers who want to use the managed Automatyzacja interfejsu użytkownikaUI Automation classes defined in the System.Windows.Automation namespace. Aby uzyskać najnowsze informacje na temat Automatyzacja interfejsu użytkownikaUI Automation, zobacz interfejs API usługi Windows Automation: Automatyzacja interfejsu użytkownika.For the latest information about Automatyzacja interfejsu użytkownikaUI Automation, see Windows Automation API: UI Automation.

Ten przegląd przedstawia Automatyzacja interfejsu użytkownika w oprogramowaniu firmy MicrosoftMicrosoft UI Automation wzorców kontroli.This overview introduces Automatyzacja interfejsu użytkownika w oprogramowaniu firmy MicrosoftMicrosoft UI Automation control patterns. Wzorce kontrolek umożliwiają kategoryzowanie i Uwidacznianie funkcjonalności formantu niezależnie od typu formantu lub wyglądu kontrolki.Control patterns provide a way to categorize and expose a control's functionality independent of the control type or the appearance of the control.

Automatyzacja interfejsu użytkownikaUI Automation używa wzorców formantów do reprezentowania typowych zachowań kontroli.uses control patterns to represent common control behaviors. Na przykład możesz użyć wzorca kontrolki Invoke dla formantów, które mogą być wywoływane (takie jak przyciski) i wzorca kontrolki przewijania dla formantów, które mają paski przewijania (takie jak pola listy, widoki listy lub pola kombi).For example, you use the Invoke control pattern for controls that can be invoked (such as buttons) and the Scroll control pattern for controls that have scroll bars (such as list boxes, list views, or combo boxes). Ze względu na to, że każdy wzorzec kontrolki reprezentuje osobną funkcję, można łączyć je w celu opisania pełnego zestawu funkcji obsługiwanych przez daną kontrolkę.Because each control pattern represents a separate functionality, they can be combined to describe the full set of functionality supported by a particular control.

Uwaga

Formanty agregujące — skompilowane z kontrolkami podrzędnymi, które udostępniają interfejs użytkownika (UI)user interface (UI) do obsługi funkcji uwidocznionych przez element nadrzędny — powinny implementować wszystkie wzorce kontroli zwykle skojarzone z poszczególnymi kontrolkami podrzędnymi.Aggregate controls—built with child controls that provide the interfejs użytkownika (UI)user interface (UI) for functionality exposed by the parent—should implement all control patterns normally associated with each child control. Z kolei te same wzorce kontroli nie muszą być implementowane przez kontrolki podrzędne.In turn, those same control patterns are not required to be implemented by the child controls.

Składniki wzorca kontrolki automatyzacji interfejsu użytkownikaUI Automation Control Pattern Components

Wzorce formantów obsługują metody, właściwości, zdarzenia i relacje, które są konieczne do zdefiniowania odrębnej funkcji dostępnej w formancie.Control patterns support the methods, properties, events, and relationships needed to define a discrete piece of functionality available in a control.

  • Relacja między elementem automatyzacji interfejsu użytkownika a jego elementem nadrzędnym, podrzędnym i równorzędnym opisuje strukturę elementu w drzewie Automatyzacja interfejsu użytkownikaUI Automation.The relationship between a UI Automation element and its parent, children and siblings describes the element's structure within the Automatyzacja interfejsu użytkownikaUI Automation tree.

  • Metody umożliwiają klientom automatyzacji interfejsu użytkownika manipulowanie formantem.The methods allow UI Automation clients to manipulate the control.

  • Właściwości i zdarzenia zawierają informacje o funkcji wzorca kontroli, a także informacje o stanie formantu.The properties and events provide information about the control pattern's functionality as well as information about the state of the control.

Wzorce kontrolne odnoszą się do Interfejs użytkownikaUI, ponieważ interfejsy odnoszą się do obiektów Component Object Model (COM).Control patterns relate to Interfejs użytkownikaUI as interfaces relate to Component Object Model (COM) objects. W modelu COM można wysyłać zapytania do obiektu, aby zażądać obsługiwanych interfejsów, a następnie używać tych interfejsów do uzyskiwania dostępu do funkcji.In COM, you can query an object to ask what interfaces it supports and then use those interfaces to access functionality. W Automatyzacja interfejsu użytkownikaUI Automationklienci automatyzacji interfejsu użytkownika mogą zadawać formant, który obsługuje, a następnie współdziałać z kontrolką przez właściwości, metody, zdarzenia i struktury uwidocznione przez obsługiwane wzorce kontrolek.In Automatyzacja interfejsu użytkownikaUI Automation, UI Automation clients can ask a control which control patterns it supports and then interact with the control through the properties, methods, events, and structures exposed by the supported control patterns. Na przykład dla wielowierszowego pola edycji dostawcy automatyzacji interfejsu użytkownika implementują IScrollProvider.For example, for a multiline edit box, UI Automation providers implement IScrollProvider. Gdy klient wie, że AutomationElement obsługuje wzorzec kontroli ScrollPattern, może użyć właściwości, metod i zdarzeń uwidocznionych przez ten wzorzec kontrolki, aby manipulować formantem lub uzyskać dostęp do informacji o formancie.When a client knows that an AutomationElement supports the ScrollPattern control pattern, it can use the properties, methods, and events exposed by that control pattern to manipulate the control, or access information about the control.

Dostawcy automatyzacji interfejsu użytkownika i klienciUI Automation Providers and Clients

Dostawcy automatyzacji interfejsu użytkownika implementują wzorce kontroli, aby uwidocznić odpowiednie zachowanie dla określonej funkcji obsługiwanej przez formant.UI Automation providers implement control patterns to expose the appropriate behavior for a specific piece of functionality supported by the control.

Klienci automatyzacji interfejsu użytkownika uzyskują dostęp do metod i właściwości klas wzorców formantów Automatyzacja interfejsu użytkownikaUI Automation i używają ich do uzyskiwania informacji na temat Interfejs użytkownikaUIlub do manipulowania Interfejs użytkownikaUI.UI Automation clients access methods and properties of Automatyzacja interfejsu użytkownikaUI Automation control pattern classes and use them to get information about the Interfejs użytkownikaUI, or to manipulate the Interfejs użytkownikaUI. Te klasy wzorców formantów znajdują się w przestrzeni nazw System.Windows.Automation (na przykład InvokePattern i SelectionPattern).These control pattern classes are found in the System.Windows.Automation namespace (for example, InvokePattern and SelectionPattern).

Klienci używają metod AutomationElement (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 Automatyzacja interfejsu użytkownikaUI Automation we wzorcu.Clients use AutomationElement methods (such as AutomationElement.GetCurrentPropertyValue or AutomationElement.GetCachedPropertyValue) or the common language runtime (CLR) accessors to access the Automatyzacja interfejsu użytkownikaUI Automation properties on a pattern. Każda Klasa wzorca kontroli ma element członkowski pola (na przykład InvokePattern.Pattern lub SelectionPattern.Pattern), który identyfikuje ten wzorzec kontrolki i może być przesłany jako parametr do GetCachedPattern lub GetCurrentPattern do pobrania tego wzorca dla AutomationElement.Each control pattern class has a field member (for example, InvokePattern.Pattern or SelectionPattern.Pattern) that identifies that control pattern and can be passed as a parameter to GetCachedPattern or GetCurrentPattern to retrieve that pattern for an AutomationElement.

Wzorce kontroli dynamicznejDynamic Control Patterns

Niektóre kontrolki nie zawsze obsługują ten sam zestaw wzorców kontrolek.Some controls do not always support the same set of control patterns. Wzorce formantów są uważane za obsługiwane, gdy są dostępne dla klienta automatyzacji interfejsu użytkownika.Control patterns are considered supported when they are available to a UI Automation client. Na przykład wielowierszowe pole edycji umożliwia przewijanie w pionie tylko wtedy, gdy zawiera więcej wierszy tekstu niż można je wyświetlić w obszarze widocznym.For example, a multiline edit box enables vertical scrolling only when it contains more lines of text than can be displayed in its viewable area. Przewijanie jest wyłączone po usunięciu wystarczającej ilości tekstu, aby przewijanie nie było już wymagane.Scrolling is disabled when enough text is removed so that scrolling is no longer required. Na potrzeby tego przykładu wzorzec kontrolki ScrollPattern jest dynamicznie obsługiwany w zależności od bieżącego stanu formantu (ilość tekstu w polu Edycja).For this example, the ScrollPattern control pattern is dynamically supported depending on the current state of the control (how much text is in the edit box).

Klasy i interfejsy wzorca kontroliControl Pattern Classes and Interfaces

W poniższej tabeli opisano Wzorce formantów Automatyzacja interfejsu użytkownikaUI Automation.The following table describes the Automatyzacja interfejsu użytkownikaUI Automation control patterns. W tabeli wymieniono również klasy używane przez klientów automatyzacji interfejsu użytkownika do uzyskiwania dostępu do wzorców formantów, a także interfejsy używane przez dostawców automatyzacji interfejsu użytkownika do ich implementacji.The table also lists the classes used by UI Automation clients to access the control patterns, as well as the interfaces used by UI Automation providers to implement them.

Klasa wzorca kontrolkiControl Pattern Class Interfejs dostawcyProvider Interface OpisDescription
DockPattern IDockProvider Używane dla kontrolek, które mogą być zadokowane w kontenerze dokowania.Used for controls that can be docked in a docking container. Na przykład paski narzędzi lub palety narzędzi.For example, toolbars or tool palettes.
ExpandCollapsePattern IExpandCollapseProvider Używany do kontrolek, które mogą być rozwinięte lub zwinięte.Used for controls that can be expanded or collapsed. Na przykład elementy menu w aplikacji, takie jak menu plik .For example, menu items in an application such as the File menu.
GridPattern IGridProvider Używane dla formantów, które obsługują funkcje siatki, takie jak rozmiar i przechodzenie do określonej komórki.Used for controls that support grid functionality such as sizing and moving to a specified cell. Na przykład widok dużych ikon w Eksploratorze Windows lub prostych tabelach bez nagłówków w programie Microsoft Word.For example, the large icon view in Windows Explorer or simple tables without headers in Microsoft Word.
GridItemPattern IGridItemProvider Używane dla formantów, które mają komórki w siatkach.Used for controls that have cells within grids. Poszczególne komórki powinny obsługiwać wzorzec GridItem.The individual cells should support the GridItem pattern. Na przykład każda komórka w widoku szczegółowym programu Microsoft Windows Explorer.For example, each cell in Microsoft Windows Explorer detail view.
InvokePattern IInvokeProvider Używany do kontrolek, które mogą być wywoływane, takich jak przycisk.Used for controls that can be invoked, such as a button.
MultipleViewPattern IMultipleViewProvider Używane dla kontrolek, które mogą przełączać się między wieloma reprezentacjami tego samego zestawu informacji, danych lub elementów podrzędnych.Used for controls that can switch between multiple representations of the same set of information, data, or children. Na przykład kontrolka widok listy, w której dane są dostępne w widokach miniatury, kafelków, ikon, list lub szczegółów.For example, a list view control where data is available in thumbnail, tile, icon, list, or detail views.
RangeValuePattern IRangeValueProvider Używane dla kontrolek, które mają zakres wartości, które można zastosować do kontrolki.Used for controls that have a range of values that can be applied to the control. Na przykład, formant pokrętła zawierający lata może mieć zakres od 1900 do 2010, podczas gdy inny formant pokrętła przedstawiający miesiące będzie miał zakres od 1 do 12.For example, a spinner control containing years might have a range of 1900 to 2010, while another spinner control presenting months would have a range of 1 to 12.
ScrollPattern IScrollProvider Używany do kontrolek, które można przewijać.Used for controls that can scroll. Na przykład kontrolka, która ma paski przewijania, które są aktywne, gdy istnieje więcej informacji niż można wyświetlić w obszarze widocznym formantu.For example, a control that has scroll bars that are active when there is more information than can be displayed in the viewable area of the control.
ScrollItemPattern IScrollItemProvider Używany do kontrolek, które mają pojedyncze elementy na liście, które są przewijane.Used for controls that have individual items in a list that scrolls. Na przykład kontrolka listy, która ma poszczególne elementy na liście przewijania, taka jak kontrolka pola kombi.For example, a list control that has individual items in the scroll list, such as a combo box control.
SelectionPattern ISelectionProvider Używany do zaznaczania elementów sterujących kontenera.Used for selection container controls. Na przykład pola listy i pola kombi.For example, list boxes and combo boxes.
SelectionItemPattern ISelectionItemProvider Używany do poszczególnych elementów w kontrolkach kontenera wyboru, takich jak pola listy i pola kombi.Used for individual items in selection container controls, such as list boxes and combo boxes.
TablePattern ITableProvider Używany do kontrolek, które mają siatkę, a także informacje nagłówka.Used for controls that have a grid as well as header information. Na przykład arkusze programu Microsoft Excel.For example, Microsoft Excel worksheets.
TableItemPattern ITableItemProvider Używane dla elementów w tabeli.Used for items in a table.
TextPattern ITextProvider Służy do edycji formantów i dokumentów, które uwidaczniają informacje tekstowe.Used for edit controls and documents that expose textual information.
TogglePattern IToggleProvider Używane dla kontrolek, w których stan może być przełączany.Used for controls where the state can be toggled. Na przykład pola wyboru i elementy menu umożliwiające sprawdzanie.For example, check boxes and checkable menu items.
TransformPattern ITransformProvider Używany do kontrolek, które mogą być zmieniane, przenoszone i obracane.Used for controls that can be resized, moved, and rotated. Typowe zastosowania wzorca kontrolki przekształcania znajdują się w projektantach, formularzach, edytorach graficznych i aplikacjach do rysowania.Typical uses for the Transform control pattern are in designers, forms, graphical editors, and drawing applications.
ValuePattern IValueProvider Umożliwia klientom pobieranie lub Ustawianie wartości w kontrolkach, które nie obsługują zakresu wartości.Allows clients to get or set a value on controls that do not support a range of values. Na przykład wybór daty i godziny.For example, a date time picker.
WindowPattern IWindowProvider Opisuje informacje specyficzne dla systemu Windows, podstawowe koncepcje systemu operacyjnego Microsoft Windows.Exposes information specific to windows, a fundamental concept to the Microsoft Windows operating system. Przykłady formantów, które są oknami, są Windows najwyższego poziomu (Microsoft Word, Eksplorator Microsoft Windows i tak dalej), okien podrzędnych interfejsu wielu dokumentów (MDI) i oknach dialogowych.Examples of controls that are windows are top-level application windows (Microsoft Word, Microsoft Windows Explorer, and so on), multiple-document interface (MDI) child windows, and dialogs.

Zobacz takżeSee also