private void LayoutDeserialization(object sender, LayoutSerializationCallbackEventArgs args) { try { Type t = Type.GetType(args.Model.ContentId); DockWindowViewModel vm = null; foreach (var anchorable in dockMgr.AnchorablesSource) { if (anchorable.GetType() == t) { vm = anchorable as DockWindowViewModel; vm.IsVisible = args.Model.IsEnabled; } } // found a match - return it if (vm != null) { args.Content = vm; } else { args.Cancel = true; } } catch (Exception exp) { Console.WriteLine(exp.Message); } }
protected override void OnStartup(StartupEventArgs e) { base.OnStartup(e); var dockView = new DockWindow(); var dock = new DockWindowViewModel(dockView); dockView.DataContext = dock; dock.ContentViewModel = dock.StartupScreenViewModel; // var dockView = new ScreenOverlayWindow(); // var vm = new OverlayWindowViewModel(dockView); // dockView.DataContext = vm; dockView.Show(); }
private void HandleIsClosed(DockWindowViewModel dockWindow) { dockWindow.IsClosedChanged += (sender, isClosed) => { var changedDocument = sender as DockWindowViewModel; if (changedDocument == null) { return; } _logger.Debug($"IsClosed changed to {isClosed} on {changedDocument.Title}."); if (isClosed && Documents.Contains(changedDocument)) { _logger.Debug($"Removing {changedDocument.Title} from visible windows."); Documents.Remove(changedDocument); } else if (!isClosed && !Documents.Contains(changedDocument)) { _logger.Debug($"Adding {changedDocument.Title} to visible windows."); Documents.Add(changedDocument); } }; }
public ToggleDockWindowViewModel(string header, DockWindowViewModel dockWindow) : base(header) { _dockWindow = dockWindow; _dockWindow.IsClosedChanged += (sender, isClosed) => IsChecked = !isClosed; }
public CloseAllButThisMessage(DockWindowViewModel notThis) { NotThis = notThis; }