У меня есть кнопка в приложении, которая привязана к команде. Эта кнопка находится внутри другого элемента управления, который также реагирует на mouseclicks. Когда кнопка включена, я получаю такое поведение, которое я ожидаю, - нажмите кнопку, и команда запускается, нажмите кнопку за пределами кнопки, но внутри элемента управления контейнера и запускается вместо этого.
К сожалению, когда кнопка отключена (через метод CanExecute команды), клики на кнопке активируются до элемента управления контейнера. Я не хочу этого, я хочу, чтобы клики были проглочены - ни запускать команду, ни пузыриться.
Я попытался преодолеть это, создав новый класс, наследующий от Button, но ни один из следующих методов даже не кажется вызываемым на отключенной кнопке:
- OnPreviewMouseDown
- OnPreviewMouseUp
- OnPreviewMouseLeftButtonDown
- OnPreviewMouseLeftButtonUp
- OnMouseDown
- OnMouseUp
- OnMouseLeftButtonDown
- OnMouseLeftButtonUp
- OnClick
Является ли отключенное управление полностью проигнорировано системой маршрутизации WPF? И если это так, я могу получить поведение, которое я ищу?