一尘不染

WPF图像资源

c#

我主要来自网络和一点Windows
Forms背景。对于一个新项目,我们将使用WPF。WPF应用程序将需要10-20个小图标和图像以用于说明目的。我正在考虑将它们作为嵌入式资源存储在程序集中。那是正确的路吗?

如何在XAML中指定图像控件应从嵌入式资源加载图像?


阅读 238

收藏
2020-05-19

共1个答案

一尘不染

如果要在多个位置使用图像,那么仅将图像数据加载到内存中一次,然后在所有Image元素之间共享就值得了。

为此,请在以下位置创建一个BitmapSource 作为资源:

<BitmapImage x:Key="MyImageSource" UriSource="../Media/Image.png" />

然后,在您的代码中,使用类似以下内容的代码:

<Image Source="{StaticResource MyImageSource}" />

就我而言,我发现我必须将Image.png文件设置为具有Resource而不是的构建动作Content。这将导致图像在已编译的程序集中进行。

2020-05-19