示例#1
0
        public void ContainerItemTest7_sl4()
        {
            // Force all elements to *not* be their own container
            ItemsControlPoker c = new ItemsControlPoker {
                IsOwnContainer = false
            };

            c.ApplyTemplate();

            CreateAsyncTest(c, () => {
                ContentPresenter item;
                object content;

                content = new Rectangle();
                c.Items.Add(content);
                Assert.IsInstanceOfType <ContentPresenter> (c.LastCreatedContainer, "#1");
                item = (ContentPresenter)c.LastCreatedContainer;
                Assert.AreEqual(content, item.Content, "#2");
                Assert.IsNull(item.DataContext, "#3");

                c.LastCreatedContainer = null;

                content = "I'm a string";
                c.Items.Add(content);
                Assert.IsInstanceOfType <ContentPresenter> (c.LastCreatedContainer, "#4");
                item = (ContentPresenter)c.LastCreatedContainer;
                Assert.AreEqual(content, item.Content, "#5");
                Assert.AreEqual(content, item.DataContext, "#6");
            });
        }
示例#2
0
        public void ContainerItemTest5()
        {
            ConceteElement    item = new ConceteElement();
            ItemsControlPoker c    = new ItemsControlPoker();

            c.ApplyTemplate();
            CreateAsyncTest(c, () => {
                c.Items.Add(item);
                Assert.IsNull(c.LastCreatedContainer, "#1");                  // No autogenerated container
                Assert.IsNull(item.DataContext, "#3");
            });
        }
示例#3
0
        public void ContainerItemTest6()
        {
            object            item      = new object();
            ConceteElement    container = new ConceteElement();
            ItemsControlPoker c         = new ItemsControlPoker();

            c.ContainerItem = container;
            c.ApplyTemplate();
            CreateAsyncTest(c, () => {
                c.Items.Add(item);
                Assert.AreEqual(container, c.LastCreatedContainer, "#1");
                Assert.AreEqual(container.DataContext, item, "#2");
                Assert.AreEqual(container.ReadLocalValue(FrameworkElement.DataContextProperty), item, "#3");
            });
        }