public override void NotifyPropertyChanged(ObservableObject observableObject) { Debug.Assert(isValueChanged); try { observableObject.NotifyPropertyChange(propertyAccessor.Name); } catch (Exception e) { EventSource.Log.UnableToRaisePropertyChangeNotification(propertyAccessor.ObjectTypeName, propertyAccessor.Name, e.ToString()); } finally { isValueChanged = false; } }
public override void NotifyPropertyChanged(ObservableObject observableObject) { Debug.Assert(isValueChanged || isIsExecutingChanged); if (isValueChanged) { try { observableObject.NotifyPropertyChange(propertyAccessor.Name); } catch (Exception e) { EventSource.Log.UnableToRaisePropertyChangeNotification(propertyAccessor.ObjectTypeName, propertyAccessor.Name, e.ToString()); } finally { isValueChanged = false; } } if (isIsExecutingChanged) { Debug.Assert(currentValue != null); try { currentValue.NotifyCanExecuteChanged(); } catch (Exception e) { EventSource.Log.UnableToRaiseCommandPropertyChangeNotification( propertyAccessor.ObjectTypeName, propertyAccessor.Name, e.ToString()); } finally { isIsExecutingChanged = false; } } }