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"
|
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.