1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public Customer: INotifyPropertyChanged
{
private int _customerID;
public int CustomerID
{
get => this._customerID;
set
{
if(this._customerID == value) return; // pour éviter la propagation du property changed si la nouvelle valeur est identique à la valeur actuelle
this._customerID = value;
this.OnPropertyChanged(); // plus besoin de spécifier le nom de la propriété
}
}
//...
public event PropertyChangedEventHandler PropertyChanged; // pose problème
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) // grâce à l'attribut CallerMemberNameAttribute le nom du membre appelant sera automatiquement mis dans le paramètre
{
PropertyChanged?.Invoke(this, new PropertyChangingEventArgs(propertyName)); // écriture condensée par vraiment conseillée, mais ça suffit pour l'exemple ;-) <= si, c'est bien l'implémentation moderne
}
} |
Partager