WPF Изменение фонового изображения кнопки при нажатии

Я создал Button и установил фоновое Image . То, что я хочу, – это когда нажата Button , я хочу заменить фоновое Image на другое

Как я могу это сделать?

Вот мой код с Button :

   

    Вы можете сделать это программно (см. Пример здесь )

    или

    Вы можете использовать DataTriggers , где DataTrigger привязан к значению bool в вашей модели ViewModel и изменяет Style вашей Button . Button привязана к Command , поэтому при ее выполнении Command изменит состояние image (свойство isPlaying ).

    XAML:

      

    C #:

     public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.DataContext = new ViewModel(); } } public class ViewModel : INotifyPropertyChanged { private bool _isPlaying = false; private RelayCommand _playCommand; public ViewModel() { isPlaying = false; } public bool isPlaying { get { return _isPlaying; } set { _isPlaying = value; OnPropertyChanged("isPlaying"); } } public ICommand PlayCommand { get { return _playCommand ?? new RelayCommand((x) => { var buttonType = x.ToString(); if (null != buttonType) { if (buttonType.Contains("Play")) { isPlaying = false; } else if (buttonType.Contains("Stop")) { isPlaying = true; } } }); } } public event PropertyChangedEventHandler PropertyChanged; public void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } public class RelayCommand : ICommand { private readonly Predicate _canExecute; private readonly Action _execute; public event EventHandler CanExecuteChanged; public RelayCommand(Action execute) : this(execute, null) { } public RelayCommand(Action execute, Predicate canExecute) { _execute = execute; _canExecute = canExecute; } public bool CanExecute(object parameter) { if (_canExecute == null) { return true; } return _canExecute(parameter); } public void Execute(object parameter) { _execute(parameter); } public void RaiseCanExecuteChanged() { if (CanExecuteChanged != null) { CanExecuteChanged(this, EventArgs.Empty); } } } 
    Давайте будем гением компьютера.