我有一个Menu
,层次 struct 中的每个MenuItem
都将其Command
属性设置为我定义的RoutedCommand
.相关联的CommandBinding
为CanExecute
的判断提供回调,CanExecute
控制每个MenuItem
的启用状态.
这个almost有效.菜单项最初会显示正确的启用和禁用状态.然而,当我的CanExecute
回调使用的数据发生变化时,我需要命令从我的回调重新请求一个结果,以便在UI中反映这个新状态.
在RoutedCommand
或CommandBinding
上似乎没有任何公开的方法.
请注意,当我单击或键入控件时,会再次使用回调(我猜它是在输入时触发的,因为鼠标悬停不会导致刷新).