private void CollapseSelectedSearchItemClick(object sender, RoutedEventArgs e) { if (SearchTreeView.SelectedItem != null) { TreeViewHelpers.RunTreeviewRecursive(SearchTreeView.SelectedItem, delegate(TreeViewItem item) { item.IsExpanded = false; }); } }
private void CollapseSearchItemButtonClick(object sender, RoutedEventArgs e) { foreach (object i in SearchTreeView.Items) { TreeViewHelpers.RunTreeviewRecursive(i, delegate(TreeViewItem item) { item.IsExpanded = false; }); } }
private void DropTree_Drop(object sender, DragEventArgs e) { if (getDragEventArgsDataPresent(e)) { TreeViewItem sourceItem = getDragEventArgsData(e); TreeViewItem destinationItem = FindAnchestor <TreeViewItem>((DependencyObject)e.OriginalSource); if (destinationItem == null || sourceItem == null || destinationItem == sourceItem) { return; } TreeViewItem pItem = sourceItem.Parent as TreeViewItem; if (pItem == null) { return; } if (destinationItem is LdapSearchTreeViewItem) { if (((LdapSearchTreeViewItem)destinationItem).SearchOperatorType == LdapSearchExprEnum.Comparison) { return; } } bool destinationIsAChild = false; TreeViewHelpers.RunTreeviewRecursive(sourceItem, delegate(TreeViewItem item) { if (item == destinationItem) { destinationIsAChild = true; } }); if (destinationIsAChild) { return; } pItem.Items.Remove(sourceItem); destinationItem.Items.Add(sourceItem); destinationItem.IsExpanded = true; sourceItem.IsSelected = true; } }
private void SanitizeSelectedSearchItemClick(object sender, RoutedEventArgs e) { if (SearchTreeView.SelectedItem != null) { List <LdapSearchTreeViewItem> itemsToDelete = new List <LdapSearchTreeViewItem>(); TreeViewHelpers.RunTreeviewRecursive(SearchTreeView.SelectedItem, delegate(TreeViewItem item) { LdapSearchTreeViewItem litem = item as LdapSearchTreeViewItem; if (litem == null) { return; } if (litem.SearchOperatorType != LdapSearchExprEnum.Comparison && litem.Items.Count == 0) { itemsToDelete.Add(litem); } }); while (itemsToDelete.Count > 0) { LdapSearchTreeViewItem item = itemsToDelete.First(); itemsToDelete.Remove(item); TreeViewItem pitem = item.Parent as TreeViewItem; if (pitem == null) { continue; } pitem.Items.Remove(item); LdapSearchTreeViewItem lpitem = pitem as LdapSearchTreeViewItem; if (lpitem == null) { continue; } if (lpitem.SearchOperatorType != LdapSearchExprEnum.Comparison && lpitem.Items.Count == 0) { itemsToDelete.Add(lpitem); } } } }