The TreeView is the best control for displaying hierarchical data with nodes because it has nodes that the user can expand and collapse. TreeViews items are stacked vertically, just like the Menu. The programmer will fill the Tree with TreeViewItems. TreeViewItem’s Header property contains the current item and its Items collection contains subitems, which are expected to be TreeViewItems.
Always use TreeView to explicitly wrap items in a TreeView.
Below is a screenshot of a very simple TreeView example. There are 3 identical TrreViews each in their own row of a Grid. By default the TreeView is collapsed as you see in the top one.
If you want a node to be expanded, you can use the IsExpanded property and set it to True. If you use the code below, the top TreeView will look like the middle TreeView in the screenshot.