public DiagramManagerViewModel(IDiagramExplorer explorer, Func <Diagram, IDiagramEditor> editorFactory) : this() { _explorer = explorer; _editorFactory = editorFactory; _explorer.OpenPreviewRequested += explorer_OpenPreviewRequested; }
public DiagramManagerViewModel(IDiagramExplorer explorer, Func <Diagram, IDiagramEditor> editorFactory) { _explorer = explorer; _editorFactory = editorFactory; _openDiagrams = Property.New(this, p => OpenDiagrams, OnPropertyChanged); _openDiagrams.Value = new ObservableCollection <IDiagramEditor>(); _openDiagram = Property.New(this, p => p.OpenDiagram, OnPropertyChanged); _closingDiagram = Property.New(this, p => p.ClosingDiagram, OnPropertyChanged); SaveClosingDiagramCommand = new RelayCommand(() => _editorsNeedingSaving.Add(ClosingDiagram)); OpenDiagramCommand = new RelayCommand <PreviewDiagramViewModel>(OpenDiagramForEdit, d => d != null); CloseCommand = new RelayCommand(Close); SaveAllCommand = Command.For(this) .DependsOnCollection(p => p.OpenDiagrams) .When(c => c.Any(p => p.CanSave)) .Asynchronously() .Executes(SaveAllAsync); _explorer.OpenPreviewRequested += explorer_OpenPreviewRequested; }