ContextMenu dans WPF
Je suis nouveau dans WPF, même si j'ai peu d'expérience avec les WinForms. Je veux juste ajouter ContextMenu pour plusieurs objets que je crée dynamiquement, mais je n'ai pas trouvé ContextMenu composant VS boîte à outils. Le seul moyen que j'ai trouvé est de créer ContextMenu dans runtime comme ceci:
ContextMenu pMenu = new ContextMenu();
MenuItem item1 = new MenuItem();
MenuItem item2 = new MenuItem();
//I have about 10 items
//...
item1.Header = "item1";
item1.Click += new RoutedEventHandler(item1_Click);
pMenu.Items.Add(item1);
item2.Header = "item2";
item2.Click += new RoutedEventHandler(item2_Click);
pMenu.Items.Add(item2);
//and so on
Cela fonctionne, cependant, en WinForms, j'ai été en mesure de déposer ContextMenuStrip composant de ma forme et de définir les éléments et les événements très rapidement w/o la rédaction d'un code. Est-il possible dans WPF?
source d'informationauteur Mike
Vous devez vous connecter pour publier un commentaire.
Vous pouvez définir votre
ContextMenu
dans les ressources et le lier à tout le contrôle dont vous avez besoin. Check this out:De plus, vous pouvez placer des commandes sur le menuItem...
Comme ceci:
CommandTarget peut être très important, si vous utilisez votre contextMenu sur les différents contrôles. J'utilise souvent le FindAncestor ici, pour identifier l'appelant.
Le code suivant fonctionne pour moi, InsertQuery/DeleteQuery sont deux ICommand méthodes définies dans le ViewModel.