Creating a WPF Hybrid Control (TreeView + DataGrid = DataTreeGrid)

This blog entry from Marius Rochon may help you.


To me this looks like a regular DataGrid with a few Groupings set on it

So in your case you would create a DataGrid that groups on Root, Node #, Node 2nd Number, and Node 3rd Number.

Also flatten your list of NodeData so it is a single list with each item containing properties for Root, NodeLevel1, NodeLevel2, and NodeLevel3


This is the best control I have found for presenting data like this. It does not require an interface/basclass on the viemodels and uses HierarchicalDataTemplate