private void ExpandAllNodes(NodeTreeItem node, bool expand) { node.IsExpanded = expand; foreach (var nodeTreeItem in node.Children) { ExpandAllNodes(nodeTreeItem, expand); } }
private NodeTreeItem FindNode(NodeTreeItem node, Node wantedNode) { if (node.Node == wantedNode) { return(node); } foreach (var nodeTreeItem in node.Children) { var foundNode = FindNode(nodeTreeItem, wantedNode); if (foundNode != null) { return(foundNode); } } return(null); }
private void SelectedItemChanged(NodeTreeItem selectNode) { if (selectNode == null) { return; } SelectedNode = FindNode(Nodes.First(), selectNode.Node); MessengerInstance.Send(new SelectedHierarchyNodeMesssage { SelectedNode = SelectedNode.Node }); Attributes.Clear(); foreach (var xAttribute in SelectedNode.Node.Element.Attributes()) { Attributes.Add(new Attribute(xAttribute.Name.LocalName, xAttribute.Value)); } SelectedNode.IsSelected = true; ExpandAllNodes(Nodes.First(), true); }