

I also posted another article regarding layout customization for the TreeView control. It assumes that you already have knowledge of XAML, control templates, styles, triggers, hierarchical data templates, data binding, and other fundamentals of WPF. Along the way we will see how the power of templates and styles in WPF can provide incredible flexibility for customizing an application's user interface. The layout we will examine is quite similar to an "org chart", where each level of items is displayed in a horizontal row directly beneath their respective parent.

It was essentially written from scratch using the base controls WPF provides for this case. Then I found the TreeViewEx project by Goroll which made a good impression and had a solid architecture. Most of them had some major issues with data handling or keyboard interaction. So there are hacks that take the standard WPF TreeView control and just replace the selection logic, or even just the selection painting, and there are ListView derivates that insert and remove virtual subitems when the user expands or collapses a node. I was eventually searching for a good solution myself when I needed one for a client project. So I guess there must be some need for it. There are a number of efforts available on the web where people have tried to add multiple selection support to tree view controls in Windows Forms and WPF. MultiSelectTreeView package on NuGet History

That way, it can be integrated and updated in a Visual Studio project very quickly. This package is also available through NuGet.

You can also head over to GitHub to download any previous revision or check the issue tracker: Download master.zip Latest version directly from GitHub
