我有一个Button绑定到NavigationCommands.RefreshCommand的用户控件。该命令的处理程序位于父控件中。处理程序的CanExecute如下所示:
e.CanExecute = !IsConnecting; // IsConnecting is a Dependency Property由于某些原因,Button将保持禁用状态,直到我单击该窗口。
如果我单击Button并让它执行(这会导致IsConnecting暂时设置为true),那么它将正确地禁用按钮,但在导致窗口中的另一个事件之前不会启用该按钮(例如。一次点击)。
有什么工具或技巧可以用来调试绑定到按钮的命令的CanExecute处理程序?
发布于 2009-11-27 07:47:06
只有当GUI中发生了一些事情时,才调用按钮的CanExecute。由于IsConnecting在后台发生变化,所以WPF不更新控件。
强制WPF更新CanExecute调用CommandManager.InvalidateRequerySuggested
https://stackoverflow.com/questions/1807255
复制相似问题