示例#1
0
        public override void ContentTest()
        {
            Assert.IsTrue(IsContentPropertyElement(), "ItemsControl ContentElement.");

            bool concreteLoaded           = false;
            ItemsControlConcrete concrete = CreateConcreteFrameworkElement() as ItemsControlConcrete;

            concrete.Loaded += (o, e) => concreteLoaded = true;
            TestPanel.Children.Add(concrete);

            // StackPanel with two TextBlocks
            bool       stackPanelLoaded = false;
            StackPanel stackPanel       = new StackPanel();

            stackPanel.Children.Add(new TextBlock()
            {
                Text = "Text0"
            });
            stackPanel.Children.Add(new TextBlock()
            {
                Text = "Text1"
            });
            stackPanel.Loaded += (o, e) => stackPanelLoaded = true;

            EnqueueConditional(() => concreteLoaded, "ConcreteLoaded #0");
            Enqueue(() => concrete.ApplyTemplate());
            Enqueue(() => {
                AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement(concrete);
                Assert.IsNotNull(peer, "FrameworkElementAutomationPeer.CreatePeerForElement");

                Assert.IsNull(peer.GetChildren(), "GetChildren #0");
                concrete.Items.Add(stackPanel);
                // Also one extra TextBlock
                concrete.Items.Add(new TextBlock()
                {
                    Text = "Text2"
                });
            });
            EnqueueConditional(() => concreteLoaded && stackPanelLoaded, "ConcreteLoaded #1");
            Enqueue(() => {
                stackPanelLoaded    = false;
                AutomationPeer peer = FrameworkElementAutomationPeer.CreatePeerForElement(concrete);
                Assert.IsNull(peer.GetChildren(), "GetChildren #1");
                // We add another TextBlock and nothing changes
                stackPanel.Children.Add(new TextBlock()
                {
                    Text = "Text3"
                });
                Assert.IsNull(peer.GetChildren(), "GetChildren #2");
            });
            EnqueueTestComplete();
        }
示例#2
0
 public ItemsControlAutomationPeerPoker(ItemsControlConcrete items) :
     base(items)
 {
 }
			public ItemsControlAutomationPeerPoker (ItemsControlConcrete items) :
				base (items)
			{
			}