private void AddItem(TElement addedItem) { lock (DependencyLock) { if (addedItem is INotifyPropertyChanged && !_sourceElementObservers.ContainsKey(addedItem)) { _sourceElementObservers[addedItem] = _pathNavigator.TraverseNext(addedItem, _propertyPath, Element_PropertyChanged); } } }
/// <summary> /// Initializes a new instance of the <see cref="ExternalDependency"/> class. /// </summary> /// <param name="targetObject">The target object.</param> /// <param name="propertyPath">The property path.</param> /// <param name="pathNavigator">The path navigator.</param> public ExternalDependency(object targetObject, string propertyPath, IPathNavigator pathNavigator) { _rootMonitor = pathNavigator.TraverseNext(targetObject, propertyPath, Element_PropertyChanged); }
public ExternalDependency(object targetObject, string propertyPath, IPathNavigator pathNavigator) { _rootMonitor = pathNavigator.TraverseNext(targetObject, propertyPath, Element_PropertyChanged); }