IDocument IDocumentManagerService.CreateDocument(string documentType, object viewModel, object parameter, object parentViewModel)
        {
            object           view   = CreateAndInitializeView(documentType, viewModel, parameter, parentViewModel, this);
            IWindowSurrogate window = CreateWindow(view);

            windows.Add(window);
            SubscribeWindow(window);
            IDocument document = new WindowDocument(this, window, view, documentType);

            SetDocument(window.RealWindow, document);
            SetTitleBinding(view, WindowBase.TitleProperty, window.RealWindow, true);
            return(document);
        }
        void OnActiveDocumentChanged(IDocument oldValue, IDocument newValue)
        {
            WindowDocument newDocument = (WindowDocument)newValue;

            if (newDocument != null)
            {
                newDocument.Window.RealWindow.Activate();
            }
            if (ActiveDocumentChanged != null)
            {
                ActiveDocumentChanged(this, new ActiveDocumentChangedEventArgs(oldValue, newValue));
            }
        }
        void OnActiveDocumentChanged(IDocument oldValue, IDocument newValue)
        {
            WindowDocument newDocument = (WindowDocument)newValue;

            if (newDocument != null)
            {
                newDocument.Window.Activate();
            }
            ActiveView = newDocument.With(x => x.documentContentView);
            if (ActiveDocumentChanged != null)
            {
                ActiveDocumentChanged(this, new ActiveDocumentChangedEventArgs(oldValue, newValue));
            }
        }
 IDocument IDocumentManagerService.CreateDocument(string documentType, object viewModel, object parameter, object parentViewModel) {
     object view = CreateAndInitializeView(documentType, viewModel, parameter, parentViewModel);
     Window window = CreateWindow(view);
     windows.Add(window);
     SubscribeWindow(window);
     IDocument document = new WindowDocument(this, window, view);
     SetDocument(window, document);
     SetTitleBinding(view, Window.TitleProperty, window, true);
     return document;
 }