We set the Orientation of the StackPanel to Horizontal because the default is Vertical. Inside the TreeViewItem.Header is a StackPanel with an Ellispe and a TextBlock. This shows us that we can stuff pretty much whatever we want to into the Header property instead of just a string and then have the TreeView render it – a great example of why it’s so easy to customize the look of WPF controls.” As you can see, I can just specify a text string and then have it rendered directly without doing anything else, but this is WPF being nice to us – internally, it wraps the text inside of a TextBlock control, instead of forcing you to do it. The examples Ive seen so far are very complicated. It consist of amount of tests like TestingFilteringById, or TestingFilteringWithSpecialChars, etc. My data is in a set of LINQ objects that come from my SQL Server Db. The TreeView tag represents a WPF TreeView control in XAML. The UI looks like the following where anything entered in the TextBox will be added to the TreeView as a child node. In this tutorial, we will create a WPF application that will add and delete a TreeView items dynamically. I explored GridView and TreeView but the TreeListView seems to be the best way to display multiple columns on each row, in a hierarchical format. A simple TreeView example As we talked about in the previous article, the WPF TreeView can be used in a very simple manner, by adding TreeViewItem objects to it, either from Code-behind or simply by declaring them directly in your XAML. The left side bar of Windows Explorer is an example of a TreeView. WPF Tutorial says in their article A simple TreeView example: “The Header is an interesting property, though. Im new to WPF and am trying to build a TreeListView to display my data.