Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
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.
Ten temat zawiera informacje o obsłudze automatyzacji interfejsu użytkownika firmy Microsoft dla typu kontrolki MenuItem. Opisuje strukturę drzewa automatyzacji interfejsu użytkownika Microsoft oraz udostępnia właściwości i wzorce sterowania, 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órzi 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 automatyzacji interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla typu kontrolki MenuItem. Wymagania automatyzacji 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 automatyzacji interfejsu użytkownika
W poniższej tabeli przedstawiono widok kontrolki i widok zawartości drzewa automatyzacji 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 automatyzacji interfejsu użytkownika, zobacz Omówienie drzewa automatyzacji interfejsu użytkownika.
| Widok sterowania | Widok zawartości |
|---|---|
MenuItem "Pomoc"
|
MenuItem "Pomoc" - MenuItem "Tematy pomocy" - MenuItem "Informacje o Notatniku" |
Widok kontrolki elementu menu ma strukturę drzewa automatyzacji interfejsu użytkownika pokazaną powyżej. Należy pamiętać, że element menu Pomoc jest uwzględniony, aby lepiej zobrazować strukturę w typowym menu z hierarchią podmenu.
W widoku zawartości menu jest nieobecne w drzewie automatyzacji interfejsu użytkownika, ponieważ nie przekazuje znaczących informacji użytkownikowi końcowemu.
Wymagane właściwości automatyzacji interfejsu użytkownika
W poniższej tabeli wymieniono właściwości automatyzacji 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 automatyzacji interfejsu użytkownika, zobacz Właściwości automatyzacji interfejsu użytkownika dla klientów.
| Majątek | 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ącie ograniczającym jest klikalny i wykonujesz wyspecjalizowane testowanie trafień, zapewnij punkt, który jest 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 jest uwzględniona w widoku zawartości drzewa automatyzacji interfejsu użytkownika i jest oznaczona etykietą własną nazwą. |
| LabeledByProperty | Null |
Brak etykiety. |
| ControlTypeProperty | MenuItem | Ta wartość jest taka sama dla wszystkich struktur interfejsu użytkownika. |
| LocalizedControlTypeProperty | pozycja menu | Zlokalizowany ciąg odpowiadający typowi kontrolki MenuItem. |
| IsContentElementProperty | Prawda | Kontrolka elementu menu nigdy nie jest uwzględniana w widoku zawartości drzewa automatyzacji interfejsu użytkownika. |
| IsControlElementProperty | Prawda | Kontrolka elementu menu musi być zawsze uwzględniona w widoku kontrolki drzewa automatyzacji interfejsu użytkownika. |
Wymagane wzorce kontrolek automatyzacji interfejsu użytkownika
W poniższej tabeli wymieniono wzorce kontrolek automatyzacji interfejsu użytkownika wymagane do obsługi przez kontrolki elementów menu. Aby uzyskać więcej informacji na temat wzorców kontrolek, zobacz Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie.
| Właściwość wzorca kontrolki | Wsparcie | Notatki |
|---|---|---|
| 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 IInvokeProvider. |
| 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 ISelectionItemProvider. |
Zdarzenia automatyzacji interfejsu użytkownika dla elementu menu
W poniższej tabeli wymieniono zdarzenia automatyzacji interfejsu użytkownika firmy Microsoft skojarzone z kontrolką elementu menu.
| Zdarzenie | Wsparcie | Wyjaśnienie |
|---|---|---|
| InvokedEvent | Zależy | Należy podnieść, jeśli kontrolka obsługuje wzorzec kontrolek Invoke. |
| ToggleStateProperty zdarzenie zmiany właściwości. | Zależy | Należy zastosować, jeśli kontrolka obsługuje wzorzec kontroli Toggle. |
| ExpandCollapseStateProperty zdarzenie zmiany właściwości. | Zależy | Musi być ustawione, jeśli element sterujący obsługuje wzorzec Rozwiń Zwiń. |
| ElementSelectedEvent | Zależy | Żaden. |
Wymagane zdarzenia automatyzacji interfejsu użytkownika
W poniższej tabeli wymieniono zdarzenia automatyzacji interfejsu użytkownika wymagane do obsługi wszystkich kontrolek elementów menu. Aby uzyskać więcej informacji na temat zdarzeń, zobacz Omówienie zdarzeń automatyzacji interfejsu użytkownika.
| Zdarzenie automatyzacji interfejsu użytkownika | Pomoc techniczna/wartość | Notatki |
|---|---|---|
| InvokedEvent | Zależy | Żaden |
| ElementAddedToSelectionEvent | Zależy | Żaden |
| ElementRemovedFromSelectionEvent | Zależy | Żaden |
| ElementSelectedEvent | Zależy | Żaden |
| BoundingRectangleProperty zdarzenie zmiany właściwości. | Wymagane | Żaden |
| IsOffscreenProperty zdarzenie zmiany właściwości. | Wymagane | Żaden |
| IsEnabledProperty zdarzenie zmiany właściwości. | Wymagane | Żaden |
| ExpandCollapseStateProperty zdarzenie zmiany właściwości. | Zależy | Żaden |
| ToggleStateProperty zdarzenie zmiany właściwości. | Zależy | Żaden |
| AutomationFocusChangedEvent | Wymagane | Żaden |
| StructureChangedEvent | Wymagane | Żaden |
Starsze problemy
Wzorzec przełącznika będzie obsługiwany wyłącznie wtedy, gdy element menu Win32 jest zaznaczony i można programowo określić konieczność wsparcia tego wzorca. Ponieważ element menu Win32 nie ujawnia, czy ma możliwość zaznaczenia, 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 będą zdezorientowani faktem, że element, który obsługiwał wzorzec wywołania (gdy element menu był niezaznaczony), nie obsługuje już wzorca, gdy jest zaznaczony.
Zobacz także
- MenuItem
- Omówienie wzorców automatyzacji kontrolek interfejsu użytkownika
- typy kontrolek automatyzacji interfejsu użytkownika — omówienie
- Omówienie automatyzacji interfejsu użytkownika