public SampleMainViewModel(IMainView?view) : base(view ?? new MockMainView() { ContentViewState = ContentViewState.DocumentViewVisible }, new MockShellService(), new MockFileService()) { DocumentViews.Add(CreateRichTextViewModel(@"C:\Users\Admin\My Documents\Document 1.rtf").View); DocumentViews.Add(CreateRichTextViewModel(@"C:\Users\Admin\My Documents\ReadMe.rtf").View); ActiveDocumentView = DocumentViews[0]; }
public void SetActiveDocumentView(IDocumentView view) { UIDispatcher.Execute(() => { if (DocumentViews.Contains(view)) { ActiveDocumentView = view; } }); }
private void TabVm_Closed(object sender, EventArgs e) { var vm = sender as DocumentViewModel; if (vm != null && DocumentViews.Contains(vm.View as IDocumentView)) { _viewModels.Remove(vm.UniqueId); DocumentViews.Remove(vm.View as IDocumentView); OnCountChanged(); } }
private void DocumentViewsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (!DocumentViews.Any()) { ViewCore.ContentViewState = ContentViewState.StartViewVisible; } else { ViewCore.ContentViewState = ContentViewState.DocumentViewVisible; } }
public void AddDocumentView(DocumentViewModel vm, bool setActive) { if (vm == null) { throw new ArgumentNullException(nameof(vm)); } UIDispatcher.Execute(() => { WeakEventManager <DocumentViewModel, EventArgs> .AddHandler(vm, "Closed", TabVm_Closed); _viewModels.Add(vm.UniqueId, vm); DocumentViews.Add(vm.View as IDocumentView); if (setActive) { SetActiveDocumentView(vm.View as IDocumentView); } OnCountChanged(); }); }