コード例 #1
0
        /// <summary>
        /// Creates the document.
        /// </summary>
        /// <param name="view">The view.</param>
        /// <param name="tag">The tag.</param>
        /// <returns>
        /// The created layout document.
        /// </returns>
        /// <exception cref="ArgumentNullException">The <paramref name="view" /> is <c>null</c>.</exception>
        public static LayoutAnchorable CreateDocument(FrameworkElement view, object tag = null)
        {
            Argument.IsNotNull("view", view);

            LayoutAnchorable layoutDocument;
            var documentView = view as DocumentView;

            if (ContextualViewModelManager.IsNestedDockview(documentView.ViewModel))
            {
                layoutDocument = WrapViewInNestedDockManager(view, tag, true);
                ContextualViewModelManager.AddContextSensitiveViewsToNestedDockView(documentView.ViewModel, (NestedDockingManager)layoutDocument.Content);
            }
            else
            {
                layoutDocument = WrapViewInLayoutDocument(view, tag, true);
            }

            ContextualViewModelManager.RegisterOpenDocumentView(documentView);

            return(layoutDocument);
        }