Je crée une application WPF et j'ai une icône de barre d'état système avec un menu contextuel. Pour les éléments de menu, je veux utiliser les commandes WPF mais quand je les assigne, elles sont toujours grisées même si les (mêmes) commandes sont activées à d'autres endroits.Menu contextuel Systray - pourquoi mes commandes ne sont-elles pas activées?
MenuItem menuItem = new MenuItem();
menuItem.Header = "Exit";
menuItem.Command = CustomCommands.ExitApplication;
Systray.AddMenuItem(menuItem);
Il fonctionne très bien quand j'attribue les événements de clic et j'ai essayé de créer une méthode CanExecute pour la commande qui met toujours à CanExecute vrai, mais cela ne suffit pas non plus. Quelqu'un a-t-il une idée de la raison pour laquelle les éléments de menu sont désactivés?
Mise à jour: Comme suggéré, j'ai ajouté une commande de liaison au menu contextuel. Cela a eu pour effet que cela fonctionne, mais seulement après avoir cliqué sur le menu, c'est-à-dire que les options de menu sont d'abord grisées, mais une fois que vous avez cliqué quelque part dans le menu, les options sont activées.
Pour résoudre ce problème, j'ai appelé ce qui suit, après avoir ajouté les éléments de menu dans le menu contextuel:
CommandManager.InvalidateRequerySuggested();
Thx, cela a fait l'affaire. Le nom de la méthode est actuellement InvalidateRequerySuggested(). –