wpf - Telerik RadMenuItem IsEnabled 没有持续刷新
问题描述
我的撤消菜单项定义如下:
<telerik:RadMenuItem Header="Undo"
InputGestureText="Ctrl-Z"
Command="{Binding UndoCommand}"
IsEnabled="{Binding SelectedProjectCanUndo}"/>
SelectedProjectCanUndo 是主视图模型上的布尔属性,它是包含菜单的主窗口的 DataContext。我在正确的属性名称上调用 PropertyChanged,我可以看到 SelectedProjectCanUndo 代表绑定后立即被调用。然而,菜单项并没有一致地刷新。有时会,有时不会。我创建了一个类似的小型“沙盒”应用程序,但在那里一切正常。有任何想法吗?
解决方案
事实证明,该命令上的 CanExecute 会覆盖 IsEnabled 标志。我摆脱了 IsEnabled 并在命令上添加了对 CanExecuteChanged 的调用,现在它正在工作。
推荐阅读
- c# - MvvmCross Xamarin IOS“找不到 ViewModel 的视图”
- python - Pandas AttributeError:“DataFrame”对象没有属性“Datetime”
- sql - rsh远程命令在端口上运行
- wordpress - 订阅确认后,WordPress 时事通讯插件重定向到上一页
- docker - 如何在不同的容器内连接mysql和php?
- javascript - 如何使用 javascript 处理嵌套的 iframe?
- amazon-web-services - cloudformation 新角色/政策 | 格式错误的政策文件
- javascript - 使用正则表达式和 javascript 匹配正文标签内的所有内容
- android - 如何使用微调器将值存储到 Firebase?
- javascript - 使用 Google 引擎从原始图像创建的多个蒙版