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.