void observableCollection_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { switch (e.Action) { case System.Collections.Specialized.NotifyCollectionChangedAction.Add: { TraceLabSDK.PackageSystem.IPackageReference newItem = e.NewItems[0] as TraceLabSDK.PackageSystem.IPackageReference; AddChild(new CLVReferenceNode(newItem)); } break; case System.Collections.Specialized.NotifyCollectionChangedAction.Move: break; case System.Collections.Specialized.NotifyCollectionChangedAction.Remove: { TraceLabSDK.PackageSystem.IPackageReference oldItem = e.OldItems[0] as TraceLabSDK.PackageSystem.IPackageReference; foreach (CLVReferenceNode node in this.AllChildren) { if (node.ID == oldItem.ID) { RemoveChild(node); break; } } } break; case System.Collections.Specialized.NotifyCollectionChangedAction.Replace: { TraceLabSDK.PackageSystem.IPackageReference oldItem = e.OldItems[0] as TraceLabSDK.PackageSystem.IPackageReference; foreach (CLVReferenceNode node in this.AllChildren) { if (node.ID == oldItem.ID) { RemoveChild(node); break; } } TraceLabSDK.PackageSystem.IPackageReference newItem = e.NewItems[0] as TraceLabSDK.PackageSystem.IPackageReference; AddChild(new CLVReferenceNode(newItem)); } break; case System.Collections.Specialized.NotifyCollectionChangedAction.Reset: break; default: break; } }
public CLVReferenceNode(TraceLabSDK.PackageSystem.IPackageReference reference) { m_reference = reference; Exists = TraceLab.Core.PackageSystem.PackageManager.Instance.Contains(reference); }
public CLVReferenceNode(TraceLabSDK.PackageSystem.IPackageReference reference) { m_reference = reference; Exists = TraceLab.Core.PackageSystem.PackageManager.Instance.Contains(reference); }