예제 #1
0
        /// <summary>
        /// Wraps the view in a layout document.
        /// </summary>
        /// <param name="view">The view.</param>
        /// <param name="tag">The tag.</param>
        /// <returns>A wrapped layout document.</returns>
        /// <exception cref="ArgumentNullException">The <paramref name="view"/> is <c>null</c>.</exception>
        private static CustomLayoutDocument WrapViewInLayoutDocument(FrameworkElement view, object tag = null)
        {
            Argument.IsNotNull("view", view);

            var layoutDocument = new CustomLayoutDocument();

            layoutDocument.CanFloat = false;
            // TODO: Make bindable => automatic updates
            layoutDocument.Title   = ((IViewModel)view.DataContext).Title;
            layoutDocument.Content = view;


            view.Tag = tag;

            return(layoutDocument);
        }
예제 #2
0
        public void Constructor_ExpectedValues()
        {
            // Setup
            const string symbol     = "123";
            var          fontFamily = new FontFamily();

            // Call
            var layoutDocument = new CustomLayoutDocument
            {
                Symbol     = symbol,
                FontFamily = fontFamily
            };

            // Assert
            Assert.IsInstanceOf <LayoutDocument>(layoutDocument);
            Assert.AreEqual(symbol, layoutDocument.Symbol);
            Assert.AreSame(fontFamily, layoutDocument.FontFamily);
        }
예제 #3
0
        public void AddDocumentView_WithAllParameters_ViewAddedWithExpectedProperties()
        {
            // Setup
            using (var avalonDockViewHost = new AvalonDockViewHost())
            {
                const string title      = "Random title";
                const string symbol     = "Random symbol";
                var          fontFamily = new FontFamily();

                var testView = new TestView();

                // Call
                avalonDockViewHost.AddDocumentView(testView, title, symbol, fontFamily);

                // Assert
                CustomLayoutDocument layoutDocument = GetLayoutDocument(avalonDockViewHost, testView);
                Assert.AreEqual(title, layoutDocument.Title);
                Assert.AreEqual(symbol, layoutDocument.Symbol);
                Assert.AreSame(fontFamily, layoutDocument.FontFamily);
            }
        }
예제 #4
0
 /// <summary>
 /// Activates the document in the docking manager, which makes it the active document.
 /// </summary>
 /// <param name="document">The document.</param>
 /// <exception cref="ArgumentNullException">The <paramref name="document"/> is <c>null</c>.</exception>
 public static void ActivateDocument(CustomLayoutDocument document)
 {
     Argument.IsNotNull("document", document);
     LayoutDocumentPane.SelectedContentIndex = LayoutDocumentPane.IndexOfChild(document);
 }