如何在WPF应用程序中正确使用图像资源

时间:2011-07-14 10:43:45

标签: c# .net wpf xaml

在WPF应用中存储静态图像(如工具箱图标)的最佳方法是什么? 现在我有Images目录并像这样使用它们:

<dxb:BarButtonItem x:Name="rbSignOut" Content="Sign out" Glyph="Images/Icons/close-16x16.png" LargeGlyph="Images/Icons/close-32x32.png" />

我认为这不是最佳做法,因为当我将XAML文件移入子文件夹时,我需要更改所有路径。此外,在代码中存储路径似乎并不正确。那么我该怎么做呢?

3 个答案:

答案 0 :(得分:3)

而不是相对于XAML文件的路径:

Glyph="Images/Icons/close-16x16.png"

使用与应用程序根目录相关的路径(使用前导斜杠)

Glyph="/Images/Icons/close-16x16.png"

无论您的XAML文件位于何处,您的图像都将始终从根目录中引用。只要你不移动你的图像,你就会一直很好。

答案 1 :(得分:1)

将ResourceDictionary与图像一起使用。您可以将它添加到generic.xaml ResourceDictionary中,这样您只需更改一个路径就可以移动它,并且可以在每个xaml文件中使用这些图像。

答案 2 :(得分:1)

只需右键单击并将图像的“构建操作”更改为“内容”并使用此类

<Image Source="/WPFApplication1;component/Images/Image.png" />

我认为这是使用图像,视频等的最佳方法,因为文件没有嵌入到程序集中。