Button 使用Command 按钮置灰未更新

当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

posted @ 2017-08-14 21:11  唐宋元明清2188  阅读(397)  评论(0编辑  收藏  举报