我正在使用BitmapImage类在WPF中加载图像。当我为UriSource提供绝对路径时,我的代码可以完美运行,但是当我尝试使用相对路径时,代码却无法正常运行。
我的XAML是:
<Image Width="50" Name="MemberImage" HorizontalAlignment="Left">
<Image.Source>
<BitmapImage DecodePixelWidth="50" UriSource="questionmark.jpg" />
</Image.Source>
</Image>
将questionmark.jpg添加到项目中,并且将“资源的生成操作”和“复制到输出目录”设置为“始终复制”。我得到的错误是“文件[文件名]不属于项目或它的'Build Action'属性未设置为'Resource'”。当我为UriSource使用绝对路径时,此方法有效,但显然不起作用。
我应该如何在XAML中定义UriSource?
最佳答案
我认为您不需要将镜像复制到资源中的输出目录中。
正确的指定方式是
<BitmapImage
x:Key = "Logo"
UriSource = "pack://application:,,,/ApplicationNamespace;component/Images/App/image.png"
/>
只需更换
ApplicationNamespace
与您的应用程序 namespace 和
Images/App/image.png
和项目中的图像路径