Мне нужно вызвать событие, когда кнопка WPF нажата (мышью, клавиатурой, сенсорным экраном и т. Д.), И вызвать событие, когда кнопки WPF не нажаты.
Как это сделать? Это должно быть легко, но я не могу найти, как это сделать.
Вы можете получить из Button и переопределить метод OnIsPressedChanged и запустить там настраиваемое событие.
Или связать со свойством ButtonBase.IsPressed .
Другой вариант - использовать DependencyPropertyDescriptor:
var descriptor = DependencyPropertyDescriptor.FromProperty(Button.IsPressedProperty, typeof(Button)); descriptor.AddValueChanged(this.button, new EventHandler(IsPressedChanged));
Если вы используете MVVM, вы можете использовать триггеры событий для решения вашей проблемы. Таким образом, вы все равно можете отделить ваши требования пользовательского интерфейса от логики приложения.