当我在WPF中禁用控件,例如菜单项时,如下所示:
MenuItem aMenuItem = ...
aMenuItem.IsEnabled = false;
菜单项中的文本仍然是活动的,也就是说它没有像禁用的项目一样变灰。
是否有一种简单的方法可以实现这一点,不仅适用于菜单项,而且适用于任何WPF控件?
通过使用命令可以实现。MenuItems和Buttons都有一个command属性。Command是ICommand接口的实现,它有一个叫做CanExecute的方法。当调用can execute时,如果返回true,则menutitem或button将启用,否则将变灰。
你也可以将控件的不透明度设置为0.5,以获得“灰色失效”效果