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