public ProjectItemView(ProjectView projectView, ProjectItem projectItem) { this.ProjectItem = projectItem; this.ProjectView = projectView; this.ShowCommand = new DelegateCommand(Show); this.Visualizers = new ObservableCollection <VisualizerView>( Editor.Extensions.Visualizers.Where(v => v.Value.TargetType.IsAssignableFrom(projectItem.ObjectModel.GetType())) .Select(v => new VisualizerView(this, v.Value))); this.DefaultVisualizer = Visualizers.SingleOrDefault(v => v.IsDefault) ?? Visualizers.FirstOrDefault(); this.ActiveVisualizer = DefaultVisualizer; }
internal Extension <IVisualizer> FindVisualizer(Type type) { return(Visualizers.SingleOrDefault(e => e.IsDefault && e.Value.TargetType == type) ?? Visualizers.FirstOrDefault(e => e.Value.TargetType == type)); }