示例#1
0
 private void CollapseSelectedSearchItemClick(object sender, RoutedEventArgs e)
 {
     if (SearchTreeView.SelectedItem != null)
     {
         TreeViewHelpers.RunTreeviewRecursive(SearchTreeView.SelectedItem, delegate(TreeViewItem item)
         {
             item.IsExpanded = false;
         });
     }
 }
示例#2
0
 private void CollapseSearchItemButtonClick(object sender, RoutedEventArgs e)
 {
     foreach (object i in SearchTreeView.Items)
     {
         TreeViewHelpers.RunTreeviewRecursive(i, delegate(TreeViewItem item)
         {
             item.IsExpanded = false;
         });
     }
 }
示例#3
0
        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;
            }
        }
示例#4
0
 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);
             }
         }
     }
 }