public void CopyXmlToTreeView( XmlNode xNode, ref TreeViewItem tviParent )
{
if (xNode == null)
{
return;
}
if (xNode.HasChildNodes)
{
foreach (XmlNode child in xNode.ChildNodes)
{
TreeViewItem tviChild = new TreeViewItem();
if (child.HasChildNodes)
{
tviChild.Header = child.Name;
tviChild.IsExpanded = true;
tviParent.Items.Add(tviChild);
CopyXmlToTreeView(child, ref tviChild);
}
else if (child.Value != null)
{
tviChild.Header = child.InnerText;
tviParent.Items.Add(tviChild);
}
}
}
}
Showing posts with label XmlDocument. Show all posts
Showing posts with label XmlDocument. Show all posts
Thursday, October 18, 2007
Binding a XmlDocument to a TreeView in WPF
So I am working on a project in which I needed to bind a XmlDocument to a TreeView. After hours of staring at the XamlParseError exception (which gives you NO useful information), I finally figured out some of my problems. First off, in order to DataBind the source need to implement IEnumerable. Guess what?? XmlDocument doesn't implement it. So I tried different, to no avail, and I eventually just wrote a (*Gasp*), recursive function to transform a XmlDocument to a TreeView. Didn't think I would ever have to write one of those again! Here it is in all it's glory:
Subscribe to:
Posts (Atom)