使用以编程方式创建任务栏覆盖图标

时间:2010-11-02 18:54:23

标签: c# wpf taskbar

我正在以编程方式重新创建叠加图标,以便在任务栏图标上显示文字。我这样做了:

    GlyphRunDrawing gDrawing = new GlyphRunDrawing(Brushes.Black,
                                           iconOverlayText.ToGlyphRun());

    Window.TaskbarItemInfo = 
        new System.Windows.Shell.TaskbarItemInfo();
    DrawingImage image = new DrawingImage();
    image.Drawing = gDrawing;

    Window.TaskbarItemInfo.Overlay = image;

图像源看起来很好,如果我将“图像”设置为测试wpf图像的来源,文本显示就好了。但由于某种原因,它不会显示在任务栏图标上。你知道为什么吗?

所以我尝试了其他一些选项,比如官方任务栏支持库。这有点令人困惑,因为看起来有两个,但都没有为我显示图标叠加:

它不适用于此官方示例应用程序示例MainDemo和IMClient演示:

  

http://code.msdn.microsoft.com/Windows7Taskbar

我无法启动其他名为Win7API Codepack示例的示例集合,因为这个神秘的错误:

  

TaskDialog功能需要加载comctl32.dll的第6版,但当前在内存中加载了不同的版本。

有什么建议可能出错吗?

1 个答案:

答案 0 :(得分:7)

来自TaskbarItemInfo.Overlay的备注部分:

  

如果是,则不显示叠加层   用户将任务栏设置为显示小   图标