我希望在我的 WPF 应用程序中使用 VS2008ImageLibrary/Actions/pngformat 中的一些图标来获得更多的 Visual Studio 外观 - 就像 WinForms 中的“插入标准项目”命令。
我已将图像添加为资源,并在我的 xaml 文件中引用它们:
<DockPanel.Resources>
<Image x:Key="NewIcon" Source="Toolbar Images/NewDocumentHS.png" Height="16" Width="16"/>
</DockPanel.Resources>
然后我将图像添加到菜单和工具栏
<MenuItem Command="ApplicationCommands.New" Icon="{StaticResource NewIcon}"/>
<!-- ... -->
<Button Command="ApplicationCommands.Save"><StaticResourceExtension ResourceKey="SaveIcon"/></Button>
但是,当我打开菜单时,图标从工具栏中消失,好像按钮从未存在过。我在其他地方读到这种事情是由于 .NET 缺乏对 Vista 图标/压缩 PNG 的支持,但我'不确定这是完全相同的问题。我试图通过改变格式来解决这个问题的尝试失败了,或者给出了次优的结果(例如失去透明度)。有谁知道更好的方法来做到这一点?
编辑:对于遇到此问题的其他人,在 < DockPanel.Resources > 标记中为每个引用使用不同键的重复条目似乎是一种功能足够的解决方法,但我担心如果需要图像可能会再次消失因任何原因被重新加载。