/// <summary> /// Initializes a new instance of the <see cref="SelectProjectsViewModel" /> class. /// </summary> /// <param name="visualStudio">The visual studio.</param> /// <param name="existingProjects">The existing projects.</param> /// <exception cref="ArgumentNullException">The <paramref name="visualStudio" /> is <c>null</c>.</exception> /// <exception cref="ArgumentNullException">The <paramref name="visualStudio" /> is <c>null</c>.</exception> public SelectProjectsViewModel(DTE2 visualStudio, IEnumerable<Project> existingProjects) { Argument.IsNotNull("visualStudio", visualStudio); Argument.IsNotNull("existingProjects", existingProjects); _visualStudio = visualStudio; AvailableProjects = new List<Project>(existingProjects); _selectableProjects = AvailableProjects.Select(x => new ProjectSelection(x)).ToList(); SelectableProjects = new ObservableCollection<ProjectSelection>(); RootProject = _visualStudio.GetActiveProject(); }