如何实现图标覆盖
本文关键字:图标 覆盖 实现 何实现 | 更新日期: 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的来源来了解如何做到这一点。