WPF JumpTask是另一个图标而不是默认图标?

时间:2011-03-19 08:52:56

标签: c# wpf vb.net windows-7

我正在使用WPF JumpTask对象,我希望我的Windows 7跳转列表图标是我自己的应用程序中的图标 - 但不是默认的图标。另一个。

那我该怎么做?我想我指定了一个不同的图标资源索引。

但是,我如何将我的图标存储为资源,以及如何知道哪个图标是哪个索引?

2 个答案:

答案 0 :(得分:2)

根据MSDN

  

与JumpTask一起使用的图标必须是   作为本地资源提供。

您只能从单独的资源文件中加载图标。因此,您需要使用图标将IconResourcePath属性设置为DLL。如果您的图标很少,请使用IconResourceIndex属性指定所需的图标。

例如,下一个代码

<Application x:Class="YourApp.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <JumpList.JumpList>
        <JumpList>
            <JumpTask Title="TargetApp"
                      Description="JumpTask to start TargetApp"
                      ApplicationPath="TargetApp.exe"
                      IconResourcePath="LibWithIcons.dll"
                      IconResourceIndex="2" />
        </JumpList>
    </JumpList.JumpList>
</Application>

将创建JumpList并从 LibWithIcons.dll 设置为JumpTask项目 TargetApp 第三图标(基于空的计算)。顺便说一句,如果JumpTask启动另一个应用程序,通常IconResourcePath被设置为该应用程序的可执行文件,因此它将显示图标:

<JumpTask Title="TargetApp"
    Description="JumpTask to start TargetApp"
    ApplicationPath="TargetApp.exe"
    IconResourcePath="TargetApp.exe"
    IconResourceIndex="0" />

如何创建MSDN forums上描述的图标DLL。

答案 1 :(得分:1)

它正在Win32资源中查找您的图标,这与托管资源完全不同。看看这篇优秀的文章,了解这些 - 可以创建它们并指定图标顺序。

Embed Icons into WPF Application as Resource

我最终使用了由Einar Eigilson创建的great tool,它允许您在构建后的活动中添加图标作为资源。

值得注意的是,无论我做什么,在调试模式下运行时都无法显示图标。即使嵌入静态win32资源也没有显示主图标之外的任何图标。尝试在释放之前进行测试,然后像我一样拔掉头发。

相关问题