private void ClearBoxes(TreeViewItem item) { if (item.HasItems) { bool childIsTextBox = false; string text = ""; foreach (TreeViewItem childItem in item.Items) { if (childItem.Header.GetType().ToString().Equals("System.Windows.Controls.StackPanel")) { StackPanel panel = (StackPanel)childItem.Header; foreach (Object obj in panel.Children) { if (obj.GetType().ToString().Equals("System.Windows.Controls.TextBox")) { TextBox box = (TextBox)obj; if (item.Header.GetType().ToString().Equals("System.Windows.Controls.StackPanel")) { StackPanel parentPanel = (StackPanel)item.Header; if (parentPanel.Children.Count > 2) { TextBlock block = (TextBlock)parentPanel.Children[1]; _soap.SecuredSoap.GetElementsByTagName(block.Text)[0].InnerText = box.Text; _soap.SaveSoap(); text = box.Text; childIsTextBox = true; } } } } } } if (childIsTextBox) { item.Items.RemoveAt(0); if (!text.Equals("")) { TreeViewItem newItem = new TreeViewItem(); StackPanel newPanel = new StackPanel(); TextBlock block = new TextBlock(); block.Text = text; newPanel.Children.Add(block); newItem.Header = newPanel; item.Items.Add(newItem); } } } foreach (TreeViewItem childItem in item.Items) { ClearBoxes(childItem); } }