Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le MenuItem contrôle représente des éléments sélectionnables individuels dans un Menu ou ContextMenu. MenuItem est le bloc de construction fondamental des systèmes de menu dans les applications WPF, fournissant les éléments interactifs que les utilisateurs cliquent ou sélectionnent pour effectuer des actions.
Pour obtenir des exemples d’utilisation de menus, consultez Menu : Exmaples.
Relation entre l'Élément de menu et le Menu
Un Menu sert de conteneur pour des objets MenuItem, établissant une relation parent-enfant où :
- Le contrôle Menu fournit la structure globale et la disposition pour organiser les éléments de menu.
- Chaque MenuItem représente une commande, une option ou un sous-menu spécifique dans cette structure.
- MenuItems peut contenir d’autres MenuItems comme éléments enfants, permettant de créer des sous-menus hiérarchiques de profondeur illimitée.
- Les MenuItems héritent des propriétés de style et comportementales de leur menu parent, sauf si elles sont remplacées explicitement.
Cette relation hiérarchique vous permet de créer des structures de navigation complexes, des menus plats simples aux systèmes de sous-menu profondément imbriqués.
Types et comportements des éléments de menu
MenuItems prend en charge plusieurs types de comportements différents :
Éléments de commande : MenuItems qui exécutent des commandes spécifiques en cliquant dessus. Celles-ci sont généralement utilisées pour des actions telles que File > Open ou Edit > Copy.
Éléments pouvant être vérifiés : MenuItems qui peuvent être activés et désactivés, similaires aux cases à cocher. Définissez la propriété IsCheckable sur true pour activer ce comportement.
Éléments de séparation : utilisez Separator des contrôles dans un menu pour regrouper visuellement les MenuItems associés.
Éléments de sous-menu : éléments de menu qui contiennent d’autres éléments de menu en tant qu'éléments enfants. Lorsque vous cliquez ou pointez dessus, ils affichent un sous-menu avec des options supplémentaires.
Les propriétés et les événements de MenuItem
Les propriétés clés de MenuItem sont les suivantes :
- Header: contenu affiché dans l’élément de menu.
- Command: commande à exécuter lorsque l’élément est sélectionné.
- IsCheckable : Indiquer si l’élément peut être coché et décoché.
- IsChecked: état vérifié actuel d’un élément pouvant être vérifié.
- InputGestureText: texte qui représente le raccourci clavier de l’élément.
- Icon: icône à afficher en même temps que le texte de l’élément de menu.
Les événements importants incluent Click, Checkedet Unchecked.
Styles et modèles
Vous pouvez modifier la valeur par défaut ControlTemplate pour donner au MenuItem contrôle une apparence unique. Pour plus d’informations, consultez Quels sont les styles et les modèles ? et Comment créer un modèle pour un contrôle.
Content, propriété
Ce contrôle ne définit pas de propriété de contenu.
Pièces
Le tableau suivant répertorie les parties nommées du MenuItem contrôle.
| Composant | Type | Descriptif |
|---|---|---|
| PART_Popup (fenêtre contextuelle) | Popup | Fenêtre contextuelle qui contient les éléments de sous-menu. |
Lorsque vous créez un ControlTemplate pour un modèle MenuItem, votre modèle peut contenir un ItemsPresenter dans un ScrollViewer.
ItemsPresenter affiche chaque élément dans le MenuItem; le ScrollViewer permet de faire défiler le contrôle. Si le ItemsPresenter n’est pas l’enfant direct du ScrollViewer, vous devez donner au ItemsPresenter le nom ItemsPresenter.
États visuels
Le tableau suivant répertorie les états visuels du MenuItem contrôle.
| Nom VisualState | Nom du VisualStateGroup | Descriptif |
|---|---|---|
| Valide | ValidationStates | Le contrôle est valide et n’a aucune erreur de validation. |
| NonValideConcentré | ValidationStates | Le contrôle a une erreur de validation et a le focus clavier. |
| InvalideNonFocalisé | ValidationStates | Le contrôle a une erreur de validation, mais n'est pas focalisé au clavier. |
Voir aussi
.NET Desktop feedback