Button 使用Command 按钮置灰未更新

时间:2021-05-28 21:49:40

当Button绑定了Command,按钮在窗口弹出、或者其它事件时,会自动置灰.

有时,异步执行时间较长时,界面一些绑定了命令的Button,State不会变化,会一直置灰。

直到再次转移Focus。

解决方法:

调用InvalidateRequerySuggested,强制处理Command关联行为未执行的情况--如焦点变化、按钮置灰。

CommandManager.InvalidateRequerySuggested();

当然,如果你调用Focus()方法也是可以的,因为Focus最终也是有调用CommandManager.InvalidateRequerySuggested();

https://msdn.microsoft.com/zh-cn/library/system.windows.input.commandmanager.invalidaterequerysuggested.aspx