Uwaga
Dostęp do tej strony wymaga autoryzacji. Może 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.
Produkty technologii pomocniczej i skrypty testowe nawigują po drzewie automatyzacji interfejsu użytkownika, aby zebrać informacje o interfejsie użytkownika i jego elementach.
W drzewie automatyzacji interfejsu użytkownika znajduje się element główny (RootElement), który reprezentuje bieżący pulpit i którego elementy podrzędne reprezentują okna aplikacji. Każdy z tych elementów podrzędnych może zawierać elementy reprezentujące elementy interfejsu użytkownika, takie jak menu, przyciski, paski narzędzi i pola listy. Te elementy z kolei mogą zawierać elementy, takie jak elementy listy.
Drzewo automatyzacji interfejsu użytkownika nie jest stałą strukturą i rzadko jest widoczne w jej całkowitej całości, ponieważ może zawierać tysiące elementów. Części są tworzone w miarę ich potrzeb i mogą przechodzić zmiany w miarę dodawania, przenoszenia lub usuwania elementów.
Dostawcy automatyzacji interfejsu użytkownika obsługują drzewo automatyzacji UI, wprowadzając nawigację między elementami w ramach części, która składa się z korzenia (zwykle hostowanego w oknie) i poddrzewa. Jednak dostawcy nie przejmują się nawigacją między elementami sterującymi. Jest to zarządzane przez rdzeń automatyzacji interfejsu użytkownika przy użyciu informacji od domyślnych dostawców okien.
Widoki drzewa automatyzacji
Drzewo automatyzacji interfejsu użytkownika można filtrować w celu utworzenia widoków zawierających tylko te AutomationElement obiekty istotne dla określonego klienta. Takie podejście umożliwia klientom dostosowanie struktury przedstawionej za pomocą automatyzacji interfejsu użytkownika do określonych potrzeb.
Klient ma dwa sposoby dostosowywania widoku: przez określenie zakresu i przez filtrowanie. Określenie zakresu określa zakres widoku, zaczynając od elementu podstawowego: na przykład aplikacja może chcieć znaleźć tylko bezpośrednie elementy podrzędne pulpitu lub wszystkie elementy podrzędne okna aplikacji. Filtrowanie definiuje typy elementów, które mają być uwzględnione w widoku.
Dostawcy automatyzacji interfejsu użytkownika obsługują filtrowanie przez definiowanie właściwości elementów, w tym właściwości IsControlElementProperty i IsContentElementProperty.
Automatyzacja interfejsu użytkownika udostępnia trzy widoki domyślne. Te widoki są definiowane przez typ wykonywanego filtrowania; zakres dowolnego widoku jest definiowany przez aplikację. Ponadto aplikacja może stosować inne filtry we właściwościach; na przykład aby uwzględnić tylko włączone kontrolki w widoku kontrolki.
Widok pierwotny
Surowy widok drzewa automatyzacji interfejsu użytkownika to pełne drzewo AutomationElement obiektów, dla których pulpit jest korzeniem. Widok pierwotny jest ściśle zgodny z natywną strukturą programową aplikacji i dlatego jest najbardziej szczegółowym widokiem dostępnym. To także podstawa, na której zbudowane są inne widoki tego drzewa. Ponieważ ten widok zależy od podstawowej struktury interfejsu użytkownika, pierwotny widok przycisku WPF będzie się różnił od pierwotnego widoku przycisku Win32.
Widok pierwotny jest uzyskiwany przez wyszukiwanie elementów bez określania właściwości lub przy użyciu polecenia RawViewWalker , aby nawigować po drzewie.
Widok sterowania
Widok kontrolny w drzewie Automatyzacji Interfejsu Użytkownika upraszcza zadanie produktu technologii pomocniczej poprzez opisanie interfejsu użytkownika użytkownikowi końcowemu oraz ułatwianie mu interakcji z aplikacją, ponieważ ściśle mapuje strukturę interfejsu użytkownika postrzeganą przez użytkownika końcowego.
Widok kontrolny jest podzbiorem widoku nieprzetworzonego. Zawiera wszystkie elementy interfejsu użytkownika z widoku surowego, które użytkownik końcowy rozumie jako interaktywne lub przyczyniające się do logicznej struktury kontrolki w interfejsie użytkownika. Przykłady elementów interfejsu użytkownika, które przyczyniają się do logicznej struktury interfejsu użytkownika, ale nie są interakcyjne, to kontenery elementów, takie jak nagłówki widoku listy, paski narzędzi, menu i pasek stanu. Elementy nieinterakcyjne używane po prostu do celów układowych lub dekoracyjnych nie będą widoczne w widoku kontrolki. Przykładem jest panel, który został użyty tylko do układania kontrolek w oknie dialogowym, ale nie zawiera żadnych informacji. Elementy nieinterakcyjne, które będą widoczne w widoku sterowania, to grafika zawierająca informacje i tekst statyczny w oknie dialogowym. Elementy nieinterakcyjne zawarte w widoku sterowania nie mogą odbierać fokusu klawiatury.
Widok kontrolny można uzyskać przez wyszukiwanie elementów, które mają właściwość IsControlElement ustawioną na true
lub za pomocą ControlViewWalker do nawigacji po drzewie.
Widok zawartości
Widok zawartości drzewa automatyzacji interfejsu użytkownika jest podzbiorem widoku sterowania. Zawiera on elementy interfejsu użytkownika, które przekazują prawdziwe informacje w interfejsie użytkownika, w tym elementy interfejsu użytkownika, które mogą odbierać fokus klawiatury i jakiś tekst, który nie jest etykietą elementu interfejsu użytkownika. Na przykład wartości w polu kombinowanym listy rozwijanej będą wyświetlane w widoku treści, ponieważ reprezentują informacje używane przez użytkownika końcowego. W widoku zawartości pole kombi i pole listy są reprezentowane jako kolekcja elementów interfejsu użytkownika, w których można wybrać jeden lub więcej niż jeden element. Fakt, że jedna sekcja jest zawsze otwarta, a inną można rozwinąć i zwinąć, nie ma znaczenia w przeglądzie zawartości, ponieważ ten widok jest zaprojektowany do wyświetlania danych lub treści, które są prezentowane użytkownikowi.
Widok zawartości jest uzyskiwany przez wyszukiwanie elementów, które mają właściwość IsContentElement ustawioną na true
, lub za pomocą polecenia ContentViewWalker do nawigacji po drzewie.
Zobacz także
- AutomationElement
- Omówienie automatyzacji interfejsu użytkownika