CanExecute方法会出现错误问题

时间:2010-08-30 20:02:35

标签: wpf commandbinding

嗯,在我们的应用程序中,这通常可以正常工作。但在某些时候,没有任何CanExecute方法触发(即使我显式调用CommandManager.InvalidateRequerySuggested(),CanExecute方法也不会运行)。无论如何,尽管它们没有运行,但它们都被设置为false,因此绑定到CommandBinding的每个按钮,菜单项等都被禁用,直到我单击MainWindow。

现在,我怀疑另一个窗口会导致这种情况,当我们执行某个操作时,会弹出一个Window,然后在下一个操作之后,所有按钮都会被禁用,而不会通过CanExecute方法。

有没有人见过这样的行为?关于如何解决这个问题的任何建议都非常感谢。

感谢。

1 个答案:

答案 0 :(得分:1)

修正了它。它与我提到的另一个窗口有关,但并非如此。问题是我们有一个隐藏所提到的窗口的方法,在那个方法中,我们将焦点重新放回主窗口,这就是问题所在。不确定如何或为什么,但删除

App.MainWindow.Focus()

行解决了这个问题。因此,每当您关闭或隐藏子窗口时,请不要在主窗口上调用Focus()方法。

谢谢!