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);
            }
        }
Пример #2
0
        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();
        }
Пример #3
0
        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;
 }
Пример #5
0
 public CloseAllButThisMessage(DockWindowViewModel notThis)
 {
     NotThis = notThis;
 }