Statistiques
| Branche: | Révision:

root / GES_PAC / ViewModel / BaseViewModel.cs @ eac868a1

Historique | Voir | Annoter | Télécharger (777 octets)

1 65ad7e66 Lucas Bihannic
using System.ComponentModel;
2
using System.Runtime.CompilerServices;
3
4
namespace GES_PAC.ViewModel
5
{
6
    public class BaseViewModel : INotifyPropertyChanged
7
    {
8
        public event PropertyChangedEventHandler PropertyChanged;
9
        protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
10
        {
11
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
12
        }
13
14
        protected bool SetProperty<T>(ref T field, T value, [CallerMemberName] string propertyName = null)
15
        {
16
            if (EqualityComparer<T>.Default.Equals(field, value)) return false;
17
18
            field = value;
19
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
20
            return true;
21
        }
22
    }
23
}