Пример #1
0
        public int GetItemsCount(TreeViewList listControl)
        {
#if !WINDOWS_UWP
            return(listControl.GetItems().Count());
#else
            return(listControl.Items.Count);
#endif
        }
Пример #2
0
        public void VerifyClearingNodeWithNoChildren()
        {
            TreeView     treeView      = null;
            TreeViewList listControl   = null;
            TreeViewNode treeViewNode1 = null;

            var loadedWaiter = new ManualResetEvent(false);

            RunOnUIThread.Execute(() =>
            {
                treeViewNode1 = new TreeViewNode();
                treeView      = new TreeView();

                treeView.Loaded += (object sender, RoutedEventArgs e) =>
                {
                    listControl = FindVisualChildByName(treeView, "ListControl") as TreeViewList;
                    loadedWaiter.Set();
                };

                MUXControlsTestApp.App.TestContentRoot = treeView;
            });

            Verify.IsTrue(loadedWaiter.WaitOne(TimeSpan.FromMinutes(1)), "Check if Loaded was successfully raised");
            RunOnUIThread.Execute(() =>
            {
                treeView.RootNodes.Add(treeViewNode1);
                var children            = (treeViewNode1.Children as IObservableVector <TreeViewNode>);
                children.VectorChanged += (vector, args) =>
                {
                    if (((IVectorChangedEventArgs)args).CollectionChange == CollectionChange.Reset)
                    {
                        // should not reset if there are not children items
                        throw new InvalidOperationException();
                    }
                };
                Verify.AreEqual(listControl.Items.Count, 1);

                // this should no-op and not crash
                treeViewNode1.Children.Clear();

                // Put things back
                MUXControlsTestApp.App.TestContentRoot = null;
            });
        }
Пример #3
0
        public void TreeViewUpdateTest()
        {
            TreeView     treeView      = null;
            TreeViewList listControl   = null;
            TreeViewNode treeViewNode1 = null;
            TreeViewNode treeViewNode2 = null;
            TreeViewNode treeViewNode3 = null;
            TreeViewNode treeViewNode4 = null;
            TreeViewNode treeViewNode5 = null;

            var loadedWaiter = new ManualResetEvent(false);

            RunOnUIThread.Execute(() =>
            {
                treeViewNode1 = new TreeViewNode();
                treeViewNode2 = new TreeViewNode();
                treeViewNode3 = new TreeViewNode();
                treeViewNode4 = new TreeViewNode();
                treeViewNode5 = new TreeViewNode();

                treeViewNode1.Children.Add(treeViewNode2);
                treeViewNode1.Children.Add(treeViewNode3);
                treeViewNode1.Children.Add(treeViewNode4);
                treeViewNode1.Children.Add(treeViewNode5);

                treeView = new TreeView();

                treeView.Loaded += (object sender, RoutedEventArgs e) =>
                {
                    listControl = FindVisualChildByName(treeView, "ListControl") as TreeViewList;
                    loadedWaiter.Set();
                };

                MUXControlsTestApp.App.TestContentRoot = treeView;
            });

            Verify.IsTrue(loadedWaiter.WaitOne(TimeSpan.FromMinutes(1)), "Check if Loaded was successfully raised");
            RunOnUIThread.Execute(() =>
            {
                treeView.RootNodes.Add(treeViewNode1);
                Verify.AreEqual(listControl.Items.Count, 1);

                treeView.Expand(treeViewNode1);
                Verify.AreEqual(listControl.Items.Count, 5);

                treeViewNode1.Children.RemoveAt(2);
                Verify.AreEqual(listControl.Items.Count, 4);
                Verify.AreEqual(listControl.Items[0], treeViewNode1);
                Verify.AreEqual(listControl.Items[1], treeViewNode2);
                Verify.AreEqual(listControl.Items[2], treeViewNode3);
                Verify.AreEqual(listControl.Items[3], treeViewNode5);

                treeViewNode1.Children.Insert(1, treeViewNode4);
                Verify.AreEqual(listControl.Items.Count, 5);
                Verify.AreEqual(listControl.Items[0], treeViewNode1);
                Verify.AreEqual(listControl.Items[1], treeViewNode2);
                Verify.AreEqual(listControl.Items[2], treeViewNode4);
                Verify.AreEqual(listControl.Items[3], treeViewNode3);
                Verify.AreEqual(listControl.Items[4], treeViewNode5);

                treeViewNode1.Children.Clear();
                Verify.AreEqual(listControl.Items.Count, 1);
                Verify.AreEqual(listControl.Items[0], treeViewNode1);

                // Put things back
                MUXControlsTestApp.App.TestContentRoot = null;
            });
        }
Пример #4
0
        public void TreeViewClearAndSetAtTest()
        {
            TreeView     treeView    = null;
            TreeViewList listControl = null;

            var loadedWaiter = new ManualResetEvent(false);

            RunOnUIThread.Execute(() =>
            {
                treeView         = new TreeView();
                treeView.Loaded += (object sender, RoutedEventArgs e) =>
                {
                    listControl = FindVisualChildByName(treeView, "ListControl") as TreeViewList;
                    loadedWaiter.Set();
                };

                MUXControlsTestApp.App.TestContentRoot = treeView;
            });

            Verify.IsTrue(loadedWaiter.WaitOne(TimeSpan.FromMinutes(1)), "Check if Loaded was successfully raised");
            RunOnUIThread.Execute(() =>
            {
                // Verify TreeViewNode::SetAt
                TreeViewNode setAtChildCheckNode = new TreeViewNode()
                {
                    Content = "Set At Child"
                };
                TreeViewNode setAtRootCheckNode = new TreeViewNode()
                {
                    Content = "Set At Root"
                };

                TreeViewNode child1 = new TreeViewNode()
                {
                    Content = "Child 1"
                };
                child1.Children.Add(new TreeViewNode()
                {
                    Content = "Child 1:1"
                });

                TreeViewNode child2 = new TreeViewNode()
                {
                    Content = "Child 2"
                };
                child2.Children.Add(new TreeViewNode()
                {
                    Content = "Child 2:1"
                });
                child2.Children.Add(new TreeViewNode()
                {
                    Content = "Child 2:2"
                });

                treeView.RootNodes.Add(child1);
                child1.IsExpanded = true;
                treeView.RootNodes.Add(child2);
                Verify.AreEqual(listControl.Items.Count, 3);

                // SetAt node under child node which is not expanded
                child2.Children[1] = setAtChildCheckNode;
                Verify.AreEqual(listControl.Items.Count, 3);

                // SetAt node under root node and child2 is expanded
                treeView.RootNodes[0] = setAtRootCheckNode;
                child2.IsExpanded     = true;
                Verify.AreEqual(listControl.Items.Count, 4);

                // Verify RootNode.Clear
                treeView.RootNodes.Clear();
                Verify.AreEqual(listControl.Items.Count, 0);

                // test clear without any child node
                treeView.RootNodes.Clear();
                Verify.AreEqual(listControl.Items.Count, 0);

                // Put things back
                MUXControlsTestApp.App.TestContentRoot = null;
            });
        }
Пример #5
0
 /// <summary>
 /// Initializes a new instance of the TreeViewListAutomationPeer class.
 /// </summary>
 /// <param name="owner">The TreeViewList control instance to create the peer for.</param>
 public TreeViewListAutomationPeer(TreeViewList owner) : base(owner)
 {
 }