Bonjour.

J'utilise actuellement des PropertyDescriptor afin de m'abonner sur tous les champ d'une instance de User. Quand une valeur est modifier, cela exécute un simple méthode faisant passer ma variable CanSave à True.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
foreach (PropertyDescriptor propertyDescriptor in TypeDescriptor.GetProperties(this.user))
{
    propertyDescriptor.AddValueChanged(this.user, this.EditPerson);
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
private void EditPerson()
{
    this.CanSave = !string.IsNullOrWhiteSpace(this.user.FirstName) && !string.IsNullOrWhiteSpace(this.user.LastName)
}
Prenons donc les champs FirstName et LastName. Si l'un deux revient à une valeur null empty ou simplement avec uniquement des espaces, la méthodes n'est pas exécutée.