Метод CanExecute приводит к ложной проблеме - PullRequest
1 голос
/ 31 августа 2010

Ну, в нашем приложении это обычно работает нормально. Но в какой-то момент ни один из методов CanExecute не срабатывает (даже если я явно вызываю CommandManager.InvalidateRequerySuggested (), методы CanExecute не запускаются). В любом случае, несмотря на то, что они не запускаются, все они имеют значение false, поэтому каждая кнопка, элемент меню и т. Д., Связанные с CommandBinding, отключаются до тех пор, пока я не нажму MainWindow.

Теперь, я подозреваю, что другое окно вызывает это, когда мы делаем определенное действие, всплывающее окно, а затем после следующего действия все кнопки становятся отключенными, не проходя через метод CanExecute.

Кто-нибудь видел такое поведение? Любое предложение о том, как решить эту проблему, очень ценится.

Спасибо.

1 Ответ

1 голос
/ 31 августа 2010

Исправлено. Это было связано с другим окном, которое я упомянул, но это было не совсем так. Проблема заключалась в том, что у нас был способ скрыть упомянутое окно, в этом методе мы вернули фокус на главное окно, и это была проблема. Не уверен, как или почему, но удаление

App.MainWindow.Focus()

Линия исправила эту проблему. Поэтому всякий раз, когда вы закрываете или скрываете дочернее окно, не вызывайте метод Focus () в главном окне.

Спасибо!

...