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); } }
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); } }
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); } }