SharpDevelop has ListView
subclass called SharpTreeView which does what you are looking for.
You can see a live example of this control in SharpDevelop's "Watch" window:
XAML used in the Watch window (as in 5.1.0 beta):
The resource is set to the View property of a SharpTreeView control.