如何将 WPF BitmapImage UriSource 属性设置为相对路径?

2024-04-02

我正在使用 BitmapImage 类在 WPF 中加载图像。当我为 UriSource 提供绝对路径时,我的代码可以完美运行,但当我尝试使用相对路径时,则不能。

我的 XAML 是:

<Image Width="50" Name="MemberImage" HorizontalAlignment="Left">
    <Image.Source>
        <BitmapImage DecodePixelWidth="50" UriSource="questionmark.jpg" />
    </Image.Source>
</Image>

Questionmark.jpg 将添加到项目中,并将“资源的构建操作”和“复制到输出目录”设置为“始终复制”。我收到的错误是“文件 [文件名] 不是项目的一部分或其“构建操作”属性未设置为“资源””。当我对 UriSource 使用绝对路径时,这是有效的,但显然不行。

我应该如何在 XAML 中定义我的 UriSource?


我认为一旦图像位于资源中,您就不需要将其复制到输出目录。

正确的指定方法是

<BitmapImage 
    x:Key  = "Logo"
 UriSource = "pack://application:,,,/ApplicationNamespace;component/Images/App/image.png"  
/>

只需更换

ApplicationNamespace与您的应用程序名称空间

and

Images/App/image.png与项目中的图像路径

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 WPF BitmapImage UriSource 属性设置为相对路径? 的相关文章

随机推荐