protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null) { if (_suspendedNotifications != null) { _suspendedNotifications.Add(propertyName); } else { var handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } }
protected virtual void OnPropertyChanged(string propertyName) { if (_suspendedNotifications != null) { _suspendedNotifications.Add(propertyName); } else { var handler = PropertyChanged; if (handler != null) { if (propertyName == null) { handler(this, EmptyChangeArgs); } else { PropertyChangedEventArgs args; if (!ChangedProperties.TryGetValue(propertyName, out args)) { args = new PropertyChangedEventArgs(propertyName); ChangedProperties.Add(propertyName, args); } handler(this, args); } } } }