我的背景主要是Web和一点点Windows Forms。对于一个新项目,我们将使用WPF。WPF应用程序将需要10-20个小图标和图像来说明问题。我正在考虑将这些作为嵌入式资源存储在程序集中。这是正确的方法吗?
我如何在XAML中指定一个图像控件应该从一个嵌入式资源中加载图像?
如果你将在多个地方使用图像,那么值得只加载一次图像数据到内存中,然后在所有`图像'元素之间共享。
要做到这一点,请在某处创建一个[BitmapSource
](http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapsource.aspx)作为资源。
<BitmapImage x:Key="MyImageSource" UriSource="../Media/Image.png" />
然后,在你的代码中,使用类似的东西。
<Image Source="{StaticResource MyImageSource}" />
在我的例子中,我发现我必须将Image.png
文件设置为资源
的构建动作,而不是只设置为内容
。 这将导致图像在你编译的程序集中被携带。