2012-02-13 2 views
1

Я разрабатываю проект Windows, но я действительно придерживаюсь концепции Icon Overlay. Я искал много статей, но в конце концов большинство членов предложили ниже ссылке:Как реализовать Icon Overlay

Однако я не могу понять, как использовать его из C#. Не могли бы вы мне помочь?

Спасибо

+0

Вы пытаетесь добавить наложения в оболочке (т.е. Проводник Windows), или вы пытаетесь использовать значки в собственном ListView внутри приложения WinForms? (Или вы используете WPF или Silverlight или LightSwitch?) –

ответ

1

Вот пример в 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; 
    } 
Смежные вопросы