如何实现图标覆盖

本文关键字:图标 覆盖 实现 何实现 | 更新日期: 2023-09-27 18:24:23

我正在开发一个Windows项目,但我真的被图标覆盖的概念卡住了。我已经搜索了很多文章,但最终大多数成员建议链接到下面:

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

然而,我不明白如何从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的来源来了解如何做到这一点。