private void Subscribe() { INotifyPropertyChanged subject = this.Subject; if (subject == null) { return; } for (int i = 0; i < this.AccessNode.Children.Count; i++) { PropertyAccessNode propertyNode = (PropertyAccessNode)this.AccessNode.Children[i]; WeakPropertyChangedEventManager.Register( subject, propertyNode.Property.Name, this, (me, sender, args) => me.OnPropertyChanged(sender, args)); } if (this.Children != null) { for (int i = 0; i < this.Children.Count; i++) { this.Children[i].UpdateSubject(subject); } } }
private void RegisterOnPersonName() { WeakPropertyChangedEventManager.Register( _person, "Name", _listener, (me, sender, args) => me.OnPropertyChanged(sender, args)); }
public void Subscribe(INotifyPropertyChanged subject, object rootSubject, TListener listener) { WeakPropertyChangedEventManager.Register( subject, rootSubject, _propertyAccessNode.PropertyName, listener, _onChangingCallback, _onChangedCallback); SubscribeToChildren(listener, subject, rootSubject); }