Beispiel #1
0
        public IDockDocument ShowDocument(string name, CreateDockDocumentDelegate createDockCallback)
        {
            IDockDocument doc       = null;
            var           avalonDoc = FindAvalonDocument(name);

            if (avalonDoc == null)
            {
                if (String.CompareOrdinal(name, "startPage") != 0 && StartPageDockDocument.GlobalAutoClose)
                {
                    StartPageDockDocument.GlobalAutoClose = false;
                    CloseDocument("startPage");
                }

                avalonDoc = new DocumentContent()
                {
                    Name = name
                };
                doc = createDockCallback(avalonDoc, name);

                BindingExtensions.CreateBinding(doc, "DocumentTitle", avalonDoc, DocumentContent.TitleProperty, BindingMode.OneWay);

                avalonDoc.Content = doc;

                avalonDoc.Closing += AvalonDoc_Closing;
                avalonDoc.Closed  += AvalonDoc_Closed;
            }

            avalonDoc.Show(dockingManager, false);

            Dispatcher.BeginInvoke(new NoArgsDelegate(() => { avalonDoc.Manager.ActiveDocument = avalonDoc; }), null);

            return(doc);
        }
Beispiel #2
0
        public IDockDocument ShowDocument(string id, CreateDockDocumentDelegate createDockCallback)
        {
            IDockDocument doc = FindDocument(id);

            if (doc == null)
            {
                doc = createDockCallback(null, id);
                Documents.Add(doc);
            }

            ActiveDocument = doc;

            return(doc);
        }