Snippet pour vos ViewModels30 juin 2011

Boîte à outils

Avis aux amateurs du MVVM :)

Je vous dépose aujourd’hui un petit bout de code englobé dans une classe dont vos ViewModels pourront hériter. Ce dernier permet de lancer l’évènement PropertyChanged de l’interface INotifyPropertyChanged à partir du code du ViewModel.

public class ViewModelBase : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    protected void RaisePropertyChanged(params string[] props)
    {
        if (PropertyChanged != null && props != null)
        {
            foreach(var prop in props)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(prop));
            }
        }
    }

}

Ainsi, plus besoin de copier/coller ce code partout, il suffit d’hériter de la classe ViewModelBase. A agrémenter de vos routines habituelles présentent dans tous les ViewModels de votre application.

public class ViewModelBase : INotifyPropertyChanged{    public event PropertyChangedEventHandler PropertyChanged;     protected void RaisePropertyChanged(params string[] props)    {        if (PropertyChanged != null && props != null)        {            foreach(var prop in props)            {                PropertyChanged(this, new PropertyChangedEventArgs(prop));            }        }    }}