2012-02-13 93 views
1

我正在開發一個Windows項目,但我真的堅持與圖標覆蓋的概念。我已經搜索了許多文章,但最後大多數委員提出以下鏈接:如何實現圖標覆蓋

但我不明白如何從C#中使用它。你可以幫我嗎?

謝謝

+0

你們是不是要在shell(即Windows資源管理器)中添加疊加,或者是你想使用的圖標疊加在自己的ListView一個WinForms應用程序裏面? (或者你使用WPF或Silverlight或LightSwitch?) – 2012-02-13 13:27:56

回答

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; 
    }