コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
 private void RegisterOnPersonName()
 {
     WeakPropertyChangedEventManager.Register(
         _person,
         "Name",
         _listener,
         (me, sender, args) => me.OnPropertyChanged(sender, args));
 }
コード例 #3
0
                public void Subscribe(INotifyPropertyChanged subject, object rootSubject, TListener listener)
                {
                    WeakPropertyChangedEventManager.Register(
                        subject,
                        rootSubject,
                        _propertyAccessNode.PropertyName,
                        listener,
                        _onChangingCallback,
                        _onChangedCallback);

                    SubscribeToChildren(listener, subject, rootSubject);
                }