我有一个Menu ,其中层次结构中的每个MenuItem的Command属性设置为我定义的RoutedCommand 。 关联的CommandBinding为评估CanExecute提供了一个callback,它控制着每个MenuItem的启用状态。 这几乎工作。 菜单项最初出现正确的启用和禁用状态。 但是,当我的CanExecutecallback使用更改的数据时,我需要命令重新请求我的callback结果,以便在UI中反映此新状态。 在RoutedCommand或CommandBinding上没有任何公开的方法。 请注意,当我单击或键入到控件(我猜这是由于input触发,因为鼠标hover不会导致刷新),callback被再次使用。