我有一个Menu
其中层次结构中的每个MenuItem
都有Command
属性设置为RoutedCommand
我定义了通过其化CommandBindings重新评估“CanExecute”。相关联的CommandBinding
为评估CanExecute
提供了回调,该回调控制每个MenuItem
的启用状态。WPF - 如何强制命令
这个差不多的作品。菜单项最初出现正确的启用和禁用状态。但是,当我的回调使用更改的数据时,我需要该命令重新请求我的回调中的结果,以便将此新状态反映到UI中。
对此,在RoutedCommand
或CommandBinding
上似乎没有任何公开方法。
请注意,当我单击或键入到控件中时(我猜它是由输入触发的,因为鼠标悬停不会导致刷新),回调会再次使用。
感谢这工作得很好。用户界面略有延迟,但我并不担心这一点。另外,我立即投了你的答案,然后投票回去看它是否有效。现在它正在工作,我无法再重新申请投票。不知道为什么SO有这个规则。 – 2009-08-27 11:17:15
我编辑了你的答案,以便重新申请我的投票。我没有改变编辑中的任何内容。再次感谢。 – 2009-08-27 11:18:14
哈哈OK :)谢谢! – Arcturus 2009-08-27 11:49:02