private void CreateXmlDependencyViewModelList() { _xmlDependencyViewModels = new List <XmlDependencyViewModel>(); foreach (var dependency in _xmlComponent.Dependencies) { var dependencyViewModel = new XmlDependencyViewModel(dependency, false); _xmlDependencyViewModels.Add(dependencyViewModel); // update tracking service ReferencedComponentsTrackingService.AddReferencedComponent(dependencyViewModel); } }
public void AddDependency(XmlDependencyViewModel dependency) { EnsureDependencyViewModels(); if (!_xmlDependencyViewModels.Contains(dependency)) { _xmlDependencyViewModels.Add(dependency); // also add to the underlying model if (!_xmlComponent.Dependencies.Contains(dependency.XmlDependency)) { // this is what it should look like, but the implementation is broken: //_xmlComponent.Dependencies.Add(dependency.XmlDependency); _xmlComponent.AddDependency(dependency.XmlDependency); ReferencedComponentsTrackingService.AddReferencedComponent(dependency); } // set our own "dirty" flag SetChanged(); } }