Ce que je veux faire est assez simple mais je n'ai pas vu d'exemples en ligne avec respect sur la façon de le faire. Je veux qu'un bouton 'Mise à jour' soit activé si un champ a été changé.CanExecute WPF commande sur le changement de champ
Contexte: J'ai un formulaire WPF qui met à jour une ligne dans une base de données. Je ne veux pas que l'utilisateur puisse cliquer sur le bouton 'Mise à jour' à moins qu'il/elle ait modifié une valeur de formulaire. J'utilise le modèle MVVM et j'ai 4 propriétés qui peuvent être mises à jour (Nom, Adresse, Téléphone et Email). À moins que l'utilisateur ne modifie l'une de ces propriétés, je ne souhaite pas que le bouton de mise à jour soit activé.
Merci!
Code de commande (je ne suis pas sûr à quel type de validation à mettre dans le CanExecute)
public ICommand UpdateCommand
{
get;
internal set;
}
private void CreateUpdateCommand()
{
UpdateCommand = new RelayCommand(UpdateExecute, CanExecuteUpdateCommand);
}
private void UpdateExecute(object obj)
{
ClientModel.UpdateClient(_selectedClient);
}
private bool CanExecuteUpdateCommand(object obj)
{
return true;
}