【发布时间】:2008-12-19 16:28:33
【问题描述】:
我正在创建一个 WPF 应用程序,并有一个带有上下文菜单的系统托盘图标。对于菜单项,我想使用 WPF 命令,但是当我分配它们时,即使在其他地方启用了(相同的)命令,它们也始终是灰色的。
MenuItem menuItem = new MenuItem();
menuItem.Header = "Exit";
menuItem.Command = CustomCommands.ExitApplication;
Systray.AddMenuItem(menuItem);
当我分配点击事件时它工作正常,并且我尝试为始终将 CanExecute 设置为 true 的命令创建 CanExecute 方法,但这也无济于事。有人知道为什么菜单项被禁用了吗?
更新:按照建议,我在上下文菜单中添加了一个命令绑定。这样做的效果是,它只有在您单击菜单后才起作用,即,起初菜单项是灰色的,但是一旦您单击菜单上的某个位置,选项就会启用。
为了解决这个问题,在我将菜单项添加到上下文菜单后,我调用了以下方法:
CommandManager.InvalidateRequerySuggested();
【问题讨论】:
标签: wpf contextmenu command systray