Esempio n. 1
0
 private IEnumerable <TreeNode> GetNodesFromToolStrip(ToolStripItemCollection toolStripItemCollection)
 {
     foreach (ToolStripItem itm in toolStripItemCollection)
     {
         var node = new ControlTreeNode(itm);
         if (itm is ToolStripDropDownItem)
         {
             foreach (TreeNode subc in GetNodesFromToolStrip(((ToolStripDropDownItem)itm).DropDownItems))
             {
                 node.Nodes.Add(subc);
             }
         }
         yield return(node);
     }
 }
Esempio n. 2
0
        private IEnumerable <TreeNode> GetNodesFromControls(Control.ControlCollection cc)
        {
            foreach (Control c in cc)
            {
                var node = new ControlTreeNode(c);

                foreach (TreeNode subc in GetNodesFromControls(c.Controls))
                {
                    node.Nodes.Add(subc);
                }

                if (c is ToolStrip)
                {
                    foreach (TreeNode subc in GetNodesFromToolStrip(((ToolStrip)c).Items))
                    {
                        node.Nodes.Add(subc);
                    }
                }

                yield return(node);
            }
        }
Esempio n. 3
0
        private TreeNode GetNodeFromControls(System.Windows.DependencyObject obj)
        {
            if (obj is System.Windows.FrameworkElement)
            {
                var node = new ControlTreeNode((System.Windows.FrameworkElement)obj);

                var childCount = System.Windows.Media.VisualTreeHelper.GetChildrenCount(obj);
                for (int i = 0; i < childCount; i++)
                {
                    var child   = System.Windows.Media.VisualTreeHelper.GetChild(obj, i);
                    var subNode = GetNodeFromControls(child);
                    if (subNode != null)
                    {
                        node.Nodes.Add(subNode);
                    }
                }
                return(node);
            }
            else
            {
                return(null);
            }
        }