Example #1
0
 public ObjectWatcher(BindingNode <TParent, TNode> bindingNode, BindingMap map)
 {
     _bindingNode = bindingNode;
     _map         = map;
     if (bindingNode.CollectionNode != null)
     {
         _collectionWatcher = bindingNode.CollectionNode.CreateWatcher(map);
     }
     _subWatchers = bindingNode.SubNodes?.ToReadOnlyDictionary2(x => x.Key, x => x.Value.CreateWatcher(map));
     _handler     = _subWatchers == null ? TerminalTargetPropertyChanged : new PropertyChangedEventHandler(TargetPropertyChanged);
 }
 public IObjectWatcher <TCollection> CreateWatcher(BindingMap map)
 {
     return(new CollectionWatcher <TCollection, TItem>(this, map));
 }
 public CollectionWatcher(CollectionBindingNode <TCollection, TItem> node, BindingMap map)
 {
     _node = node;
     _map  = map;
 }
 public IObjectWatcher <TParent> CreateWatcher(BindingMap map)
 {
     return(new ObjectWatcher <TParent, TNode>(this, map));
 }