示例#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);
 }
示例#2
0
 public Root(ReusableWatcherFactory <TContext> parent)
 {
     _parent  = parent;
     _map     = new BindingMap <TContext>(parent._actions);
     _watcher = _parent._root.CreateWatcher(_map);
 }