public int GetItemsCount(TreeViewList listControl) { #if !WINDOWS_UWP return(listControl.GetItems().Count()); #else return(listControl.Items.Count); #endif }
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; }); }
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; }); }
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; }); }
/// <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) { }