Exemplo n.º 1
0
        public void ItemContainerGenerator_Should_Be_Picked_Up_From_TemplatedControl()
        {
            var parent = new TestItemsControl();
            var target = new ItemsPresenter
            {
                TemplatedParent = parent,
            };

            Assert.IsType<ItemContainerGenerator<TestItem>>(target.ItemContainerGenerator);
        }
        public void ItemContainerGenerator_Should_Be_Picked_Up_From_TemplatedControl()
        {
            var parent = new TestItemsControl();
            var target = new CarouselPresenter
            {
                TemplatedParent = parent,
            };

            Assert.IsType <ItemContainerGenerator <TestItem> >(target.ItemContainerGenerator);
        }
Exemplo n.º 3
0
        public void ItemContainerGenerator_Should_Be_Picked_Up_From_TemplatedControl()
        {
            var parent = new TestItemsControl();
            var target = new ItemsPresenter
            {
                [StyledElement.TemplatedParentProperty] = parent,
            };

            Assert.IsType <ItemContainerGenerator <TestItem> >(target.ItemContainerGenerator);
        }
Exemplo n.º 4
0
        public void InItemsControlSimple()
        {
            TestItemsControl        items_control          = new TestItemsControl();
            ControlTemplate         items_control_template = new ControlTemplate(typeof(TestItemsControl));
            FrameworkElementFactory panel_factory          = new FrameworkElementFactory(typeof(IsItemsHostPanel));

            panel_factory.Name = "Panel";
            items_control_template.VisualTree = panel_factory;
            items_control.Template            = items_control_template;
            items_control.ApplyTemplate();
            UIElementCollection children = items_control.GetPanel().Children;

            Assert.AreEqual(children.Count, 0, "1");
            items_control.Items.Add(new Button());
            Assert.AreEqual(children.Count, 1, "2");
        }
        public void Should_Create_Containers_Only_Once()
        {
            var parent = new TestItemsControl();
            var target = new ItemsPresenter
            {
                Items = new[] { "foo", "bar" },
                [StyledElement.TemplatedParentProperty] = parent,
            };
            var raised = 0;

            parent.ItemContainerGenerator.Materialized += (s, e) => ++ raised;

            target.ApplyTemplate();

            Assert.Equal(2, target.Panel.Children.Count);
            Assert.Equal(2, raised);
        }
Exemplo n.º 6
0
        public void Setting_Presenter_Explicitly_Should_Set_Item_Parent()
        {
            var target = new TestItemsControl();
            var child  = new Control();

            var presenter = new ItemsPresenter
            {
                [StyledElement.TemplatedParentProperty] = target,
                [~ItemsPresenter.ItemsProperty]         = target[~ItemsControl.ItemsProperty],
            };

            presenter.ApplyTemplate();
            target.Presenter = presenter;
            target.Items     = new[] { child };
            target.ApplyTemplate();

            Assert.Equal(target, child.Parent);
            Assert.Equal(target, ((ILogical)child).LogicalParent);
        }
Exemplo n.º 7
0
        public void Setting_Presenter_Explicitly_Should_Set_Item_Parent()
        {
            var target = new TestItemsControl();
            var child = new Control();

            var presenter = new ItemsPresenter
            {
                TemplatedParent = target,
                [~ItemsPresenter.ItemsProperty] = target[~ItemsControl.ItemsProperty],
            };

            presenter.ApplyTemplate();
            target.Presenter = presenter;
            target.Items = new[] { child };
            target.ApplyTemplate();

            Assert.Equal(target, child.Parent);
            Assert.Equal(target, ((ILogical)child).LogicalParent);
        }
Exemplo n.º 8
0
		public void InItemsControlSimple ()
		{
			TestItemsControl items_control = new TestItemsControl ();
			ControlTemplate items_control_template = new ControlTemplate (typeof (TestItemsControl));
			FrameworkElementFactory panel_factory = new FrameworkElementFactory (typeof (IsItemsHostPanel));
			panel_factory.Name = "Panel";
			items_control_template.VisualTree = panel_factory;
			items_control.Template = items_control_template;
			items_control.ApplyTemplate ();
			UIElementCollection children = items_control.GetPanel ().Children;
			Assert.AreEqual (children.Count, 0, "1");
			items_control.Items.Add (new Button ());
			Assert.AreEqual (children.Count, 1, "2");
		}
Exemplo n.º 9
0
		public void InItemsControl ()
		{
			TestItemsControl items_control = new TestItemsControl ();
			ControlTemplate items_control_template = new ControlTemplate (typeof (TestItemsControl));
			FrameworkElementFactory panel_factory = new FrameworkElementFactory (typeof (IsItemsHostPanel));
			panel_factory.Name = "Panel";
			items_control_template.VisualTree = panel_factory;
			items_control.Template = items_control_template;
			Button button = new Button ();
			items_control.Items.Add (button);
			Assert.IsNull (items_control.GetPanel ());
			items_control.ApplyTemplate ();
			UIElementCollection children = items_control.GetPanel ().Children;
			Assert.AreEqual (children.Count, 1, "2");
			Assert.AreSame (children, items_control.GetPanel ().Children, "3");
			Assert.AreSame (children, items_control.GetPanel ().GetInternalChildren (), "4");
			items_control.GetPanel ().IsItemsHost = false;
			Assert.AreSame (children, items_control.GetPanel ().Children, "5");
			Assert.AreSame (children, items_control.GetPanel ().GetInternalChildren (), "6");
			Assert.AreEqual (items_control.GetPanel ().Children.Count, 0, "7");
			items_control.GetPanel ().IsItemsHost = true;
			Assert.AreSame (children, items_control.GetPanel ().Children, "8");
			Assert.AreSame (children, items_control.GetPanel ().GetInternalChildren (), "9");
			Assert.AreEqual (items_control.GetPanel ().Children.Count, 1, "10");
			Assert.AreSame (items_control.GetPanel ().Children [0], button, "11");
			items_control.GetPanel ().CallOnIsItemsHostChanged = false;
			items_control.GetPanel ().IsItemsHost = false;
			Assert.AreSame (children, items_control.GetPanel ().Children, "12");
			Assert.AreSame (children, items_control.GetPanel ().GetInternalChildren (), "13");
			Assert.AreEqual (items_control.GetPanel ().Children.Count, 0, "14");
			Assert.AreEqual (children.GetType (), typeof (UIElementCollection), "15");
		}