Вот пример в C#, хотя я извиняюсь за его более дамп кода, чем объяснение того, как это сделать.
http://alski.net/post/2012/01/11/WPF-Icon-Overlays.aspx
Важный бит это, который принимает визуальный и преобразует его в растровое изображение. IconOverlay привязан к сгенерированному растровому изображению.
public static BitmapSource GenerateBitmapSource(Visual visual, double renderWidth, double renderHeight)
{
var bmp = new RenderTargetBitmap((int)renderWidth, (int)renderHeight, 96, 96, PixelFormats.Pbgra32);
var dv = new DrawingVisual();
using (DrawingContext dc = dv.RenderOpen())
{
dc.DrawRectangle(new VisualBrush(visual), null, new Rect(0, 0, renderWidth, renderHeight));
}
bmp.Render(dv);
return bmp;
}
Вы пытаетесь добавить наложения в оболочке (т.е. Проводник Windows), или вы пытаетесь использовать значки в собственном ListView внутри приложения WinForms? (Или вы используете WPF или Silverlight или LightSwitch?) –