CanExecute method going to false problem

空扰寡人 提交于 2019-12-10 11:33:57

问题


Well, in our application this usually works fine. But at some point, none of the CanExecute methods fire (even if I explicitly call CommandManager.InvalidateRequerySuggested(), the CanExecute methods don't run). Anyway, despite the fact that they don't run, they all get set to false, so every button, menu item, etc, bound to a CommandBinding, gets disabled until I click the MainWindow.

Now, I suspect another Window causing this, when we do a certain action, a Window pops up, and then after the next action, all the buttons become disabled, without going through the CanExecute method.

Has anyone seen such a behavior? Any suggestion on how to solve this, is greatly appreciated.

Thanks.


回答1:


Fixed it. It was related to the other window I mentioned, but it wasn't exactly that. The problem was that we had a method to hide the mentioned window, in that method, we gave focus back to the main window, and THAT was the problem. Not sure how or why, but removing the

App.MainWindow.Focus()

Line fixed this problem. So, whenever you close or hide a child window, do not call the Focus() method on your Main one.

Thanks!



来源:https://stackoverflow.com/questions/3603815/canexecute-method-going-to-false-problem

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!