/// <summary> /// Notifies that the property path has changed. /// </summary> /// <param name="e">The <see cref="PropertyPathObserverChangedEventArgs"/> instance containing the event data.</param> public void NotifyPropertyPathChanged(PropertyPathObserverChangedEventArgs e) { if (this.Parent == null) { var handler = this.PropertyPathChanged; if (handler == null) return; handler(this, e); } else { this.Parent.NotifyPropertyPathChanged(e); } }
private void ObservableObject_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (this.PropertyName != e.PropertyName && !string.IsNullOrWhiteSpace(e.PropertyName)) return; this.UpdatePropertyValue(); if (this.Child == null) { var ce = new PropertyPathObserverChangedEventArgs(this.PropertyName, this.PropertyValue); this.NotifyPropertyPathChanged(ce); } }
private void Observer_PropertyPathChanged(object sender, PropertyPathObserverChangedEventArgs e) { foreach (var action in Actions) action(e); }