I implement INotifyPropertyChanged and it works fine.
There is something I don't understand though: PropertyChanged is a an event, which means it is a delegate.
Before we invoke event/delegate we need them to point on some function/eventHundler ("Subscribe") -
otherwise the event will be null.
How is it, that here we declare an event, I didn't subscribe no one to this event, and still - it is not null.
public event PropertyChangedEventHandler PropertyChanged; protected void OnPropertyChanged([CallerMemberName] string propertyName = "") { var changed = PropertyChanged; if (changed == null) //It seems for me, this should be null for ever. return; changed.Invoke(this, new PropertyChangedEventArgs(propertyName)); }~~~~