private void Solution_AnyProjectClosed(object sender, NamedProjectEventArgs e) { for (int i = 0; i < this.projectInsertion.Children.Count; i++) { ProjectNode item = this.projectInsertion.Children[i] as ProjectNode; if (item != null && e.NamedProject == item.Project) { this.projectInsertion.RemoveChild(item); this.OnPropertyChanged("RootItem"); item.Dispose(); return; } } }
private void Solution_AnyProjectOpened(object sender, NamedProjectEventArgs e) { ProjectNode projectNode; try { IProject namedProject = e.NamedProject as IProject; if (namedProject == null) { projectNode = new ProjectNode(e.NamedProject, this); } else { projectNode = new KnownProjectNode(namedProject, this); } this.projectInsertion.AddChild(projectNode); } finally { this.OnPropertyChanged("RootItem"); } }