Udostępnij za pośrednictwem


Obsługa automatyzacji interfejsu użytkownika dla kontrolek typu MenuItem

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.

Ten temat zawiera informacje o obsłudze automatyzacja interfejsu użytkownika firmy Microsoft dla typu kontrolki MenuItem. Opisuje on strukturę drzewa microsoft automatyzacja interfejsu użytkownika kontrolki i udostępnia właściwości i wzorce kontrolek, które są wymagane dla typu kontrolki MenuItem.

Kontrolka menu umożliwia hierarchialną organizację elementów skojarzonych z poleceniami i procedurami obsługi zdarzeń. W typowej aplikacji systemu Microsoft Windows pasek menu zawiera kilka elementów menu (takich jak Plik, Edycja i Okno), a każdy element menu wyświetla menu. Menu zawiera kolekcję elementów menu (takich jak Nowy, Otwórz i Zamknij), które można rozwinąć, aby wyświetlić dodatkowe elementy menu lub wykonać określoną akcję po kliknięciu. Element menu może być hostowany w menu, pasku menu lub pasku narzędzi.

W poniższych sekcjach zdefiniowano wymaganą strukturę drzewa automatyzacja interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla typu kontrolki MenuItem. Wymagania dotyczące automatyzacja interfejsu użytkownika mają zastosowanie do wszystkich kontrolek listy, niezależnie od tego, czy windows Presentation Foundation (WPF), Win32 lub Windows Forms.

Wymagana struktura drzewa automatyzacja interfejsu użytkownika

W poniższej tabeli przedstawiono widok kontrolki i widok zawartości drzewa automatyzacja interfejsu użytkownika odnoszącego się do kontrolek elementów menu i opisano, co można zawierać w każdym widoku. Aby uzyskać więcej informacji na temat drzewa automatyzacja interfejsu użytkownika, zobacz omówienie drzewa automatyzacja interfejsu użytkownika.

Widok kontrolki Widok zawartości
MenuItem "Pomoc"

  • Menu (menu podrzędne elementu menu Pomoc)

    • MenuItem "Tematy pomocy"
    • MenuItem "Informacje o Notatnik"
MenuItem "Pomoc"

- MenuItem "Tematy pomocy"
- MenuItem "About Notatnik" (Informacje o Notatnik)

Widok sterowania kontrolki elementu menu ma strukturę drzewa automatyzacja interfejsu użytkownika pokazaną powyżej. Należy pamiętać, że element menu Pomoc jest uwzględniony, aby lepiej zilustrować strukturę w typowym menu hierarchii podmenu.

W widoku zawartości menu jest nieobecne w drzewie automatyzacja interfejsu użytkownika, ponieważ nie przekazuje znaczących informacji użytkownikowi końcowemu.

Wymagane właściwości automatyzacja interfejsu użytkownika

W poniższej tabeli wymieniono właściwości automatyzacja interfejsu użytkownika, których wartość lub definicja jest szczególnie istotna dla kontrolek elementów menu. Aby uzyskać więcej informacji na temat właściwości automatyzacja interfejsu użytkownika, zobacz automatyzacja interfejsu użytkownika Właściwości dla klientów.

Właściwości Wartość Opis
AutomationIdProperty Zobacz uwagi. Wartość tej właściwości musi być unikatowa we wszystkich kontrolkach w aplikacji.
BoundingRectangleProperty Zobacz uwagi. Najbardziej oddalony prostokąt, który zawiera całą kontrolkę.
ClickablePointProperty Zobacz uwagi. Obsługiwane, jeśli istnieje prostokąt ograniczenia. Jeśli nie każdy punkt w prostokątze ograniczenia jest klikalny, i wykonujesz wyspecjalizowane testowanie trafień, przesłoń i zapewnia punkt możliwy do kliknięcia.
IsKeyboardFocusableProperty Zobacz uwagi. Jeśli kontrolka może odbierać fokus klawiatury, musi obsługiwać tę właściwość.
NameProperty Zobacz uwagi. Kontrolka elementu menu znajduje się w widoku zawartości drzewa automatyzacja interfejsu użytkownika i jest oznaczona etykietą własną.
LabeledByProperty Null Brak etykiety.
ControlTypeProperty MenuItem Ta wartość jest taka sama dla wszystkich struktur interfejsu użytkownika.
LocalizedControlTypeProperty "element menu" Zlokalizowany ciąg odpowiadający typowi kontrolki MenuItem.
IsContentElementProperty Prawda Kontrolka elementu menu nigdy nie jest uwzględniana w widoku zawartości drzewa automatyzacja interfejsu użytkownika.
IsControlElementProperty Prawda Kontrolka elementu menu musi być zawsze uwzględniona w widoku kontrolki drzewa automatyzacja interfejsu użytkownika.

Wymagane wzorce kontrolek automatyzacja interfejsu użytkownika

W poniższej tabeli wymieniono wzorce kontrolek automatyzacja interfejsu użytkownika wymagane do obsługi przez kontrolki elementów menu. Aby uzyskać więcej informacji na temat wzorców kontrolek, zobacz automatyzacja interfejsu użytkownika Control Patterns Overview (Omówienie wzorców kontrolek automatyzacja interfejsu użytkownika).

Właściwość wzorca kontrolki Pomoc techniczna Uwagi
IExpandCollapseProvider Zależy Jeśli kontrolkę można rozwinąć lub zwinąć, zaimplementuj element IExpandCollapseProvider.
IInvokeProvider Zależy Jeśli kontrolka wykonuje jedną akcję lub polecenie, zaimplementuj IInvokeProviderelement .
IToggleProvider Zależy Jeśli kontrolka reprezentuje opcję, którą można włączyć lub wyłączyć, zaimplementuj element IToggleProvider.
ISelectionItemProvider Zależy Jeśli kontrolka jest używana do wybierania z listy opcji między elementami menu, zaimplementuj ISelectionItemProviderelement .

zdarzenia automatyzacja interfejsu użytkownika dla elementu menu

W poniższej tabeli wymieniono zdarzenia automatyzacja interfejsu użytkownika firmy Microsoft skojarzone z kontrolką elementu menu.

Zdarzenie Pomoc techniczna Wyjaśnienie
InvokedEvent Zależy Należy podnieść, jeśli kontrolka obsługuje wzorzec kontrolek Invoke.
ToggleStateProperty zdarzenie zmienione właściwości. Zależy Należy podnieść, jeśli kontrolka obsługuje wzorzec kontrolki Przełączanie.
ExpandCollapseStateProperty zdarzenie zmienione właściwości. Zależy Należy podnieść, jeśli kontrolka obsługuje wzorzec kontrolki Rozwiń zwiń.
ElementSelectedEvent Zależy Brak.

Wymagane zdarzenia automatyzacja interfejsu użytkownika

W poniższej tabeli wymieniono zdarzenia automatyzacja interfejsu użytkownika wymagane do obsługi przez wszystkie kontrolki elementów menu. Aby uzyskać więcej informacji na temat zdarzeń, zobacz omówienie zdarzeń automatyzacja interfejsu użytkownika.

zdarzenie automatyzacja interfejsu użytkownika Pomoc techniczna/wartość Uwagi
InvokedEvent Zależy Brak
ElementAddedToSelectionEvent Zależy Brak
ElementRemovedFromSelectionEvent Zależy Brak
ElementSelectedEvent Zależy Brak
BoundingRectangleProperty zdarzenie zmienione właściwości. Wymagania Brak
IsOffscreenProperty zdarzenie zmienione właściwości. Wymagania Brak
IsEnabledProperty zdarzenie zmienione właściwości. Wymagania Brak
ExpandCollapseStateProperty zdarzenie zmienione właściwości. Zależy Brak
ToggleStateProperty zdarzenie zmienione właściwości. Zależy Brak
AutomationFocusChangedEvent Wymagania Brak
StructureChangedEvent Wymagania Brak

Starsze problemy

Przełącznik Pattern (Wzorzec przełącznika) będzie obsługiwany tylko wtedy, gdy element menu Win32 jest zaznaczony i może być określany programowo, aby obsługiwać wzorzec przełącznika. Ponieważ element menu Win32 nie uwidacznia, czy ma możliwość zaznaczania, wzorzec wywołania będzie obsługiwany, gdy element menu nie jest zaznaczony. Zostanie zgłoszony wyjątek, aby zawsze obsługiwać wzorzec wywołania, nawet w przypadku elementów menu, które powinny obsługiwać tylko wzorzec przełącznika. Dzięki temu klienci nie stają się zdezorientowani, że element obsługujący wzorzec wywołania (gdy element menu został niezaznaczone) nie obsługuje już wzorca po jego sprawdzeniu.

Zobacz też