public TrackPathPropertyChangedAndUpdateReferences(ElementLookup lookup, ElementViewModel element) { this.lookup = lookup; this.element = element; elementPropertyChangedHandler = new PropertyChangedEventHandler(element_PropertyChanged); this.element.PropertyChanged += elementPropertyChangedHandler; }
public TrackChildElementCreationAndRemoval(ElementLookup lookup, ElementViewModel element) { this.lookup = lookup; this.element = element; AddElements(element.ChildElements); childElementsChangedHandler = new NotifyCollectionChangedEventHandler(ChildElements_CollectionChanged); element.ChildElementsCollectionChange += childElementsChangedHandler; }
public ElementReferenceOverAbsolutePath(ElementLookup lookup, ElementViewModel element, string path) : base(lookup, element) { this.path = path; base.PathChanged += (sender, args) => { this.path = Element.Path; }; }
public ElementReferenceOverAncestorPath(ElementLookup lookup, ElementViewModel element, string ancestorPath, string elementName) : base(lookup, element) { this.ancestorPath = ancestorPath; this.elementName = elementName; base.PathChanged += (sender, args) => { this.ancestorPath = Element.ParentElement.Path; this.elementName = GetElementNamePropertyValue(Element); }; }
public ElementChangeScope(ElementLookup lookup, Func <ElementViewModel, bool> predicate) { this.lookup = lookup; this.predicate = predicate; this.lookup.CollectionChanged += lookup_CollectionChanged; }