如何实现图标叠加

我正在开发一个Windows项目,但我真的陷入了Icon Overlay概念。 我搜索了很多文章,但最后大多数成员建议在下面链接:

  • 如何通过3个简单的步骤将图标覆盖在现有的shell对象上

但是我无法理解如何从C#中使用它。 请你帮助我好吗?

谢谢

这是C#中的一个例子,虽然我为其更多的代码转储道歉,而不是解释如何做到这一点。

http://alski.net/post/2012/01/11/WPF-Icon-Overlays.aspx

重要的是它采用Visual并将其转换为位图。 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; } 

正如我在这里写的那样 ,你可以简单地看看TortoiseSVN 的来源 ,找到如何做到这一点。