我的撤消菜单项的定义如下:
<telerik:RadMenuItem Header="Undo"
InputGestureText="Ctrl-Z"
Command="{Binding UndoCommand}"
IsEnabled="{Binding SelectedProjectCanUndo}"/>
SelectedProjectCanUndo是主视图模型上的bool属性,它是包含菜单的主窗口的DataContext。我用正确的属性名称调用PropertyChanged,并且可以看到在之后代表绑定立即调用了SelectedProjectCanUndo。但是,菜单项不能始终刷新。有时确实如此,有时却没有。我创建了一个类似的小型“沙盒”应用程序,但在那里一切正常。有什么想法吗?
答案 0 :(得分:0)
事实证明,命令上的CanExecute可以覆盖IsEnabled标志。我摆脱了IsEnabled,并在命令上添加了对CanExecuteChanged的调用,现在它可以正常工作了。