Visual Studio 2019,如何使用位于WPF/XAML共享项目中的图像?



我在共享项目中有一个图像文件。这是公司的标志。

在共享项目中,它位于Resources/logo.png中。

它的构建动作是"Content"

Copy to Output Directory设置为"Copy always">

当我使用XAML编辑器时,它出现了。当我通过调试器运行它时,它没有出现。当我构建解决方案并安装软件时,它没有出现。

但是,我看到安装在/Resource目录下的文件为logo.png。

我尝试了以下XAML:

<Image Source="Resource/logo.png"/>
<Image Source="/Resource/logo.png"/>
<Image Source="./Resource/logo.png"/>
<Image Source="pack://application:,,,/Resource/logo.png"/>

这些变化都不起作用。

但是,如果我在

后面的代码中使用以下代码
string path = Path.Combine(Environment.CurrentDirectory, "Resource", "logo.png");
Uri uri = new Uri(path);
Logo.Source = new BitmapImage(uri);

和XAML

<Image x:Name="Logo"/>

工作;然而,使用环境。当前目录可能不总是工作。

在XAML中引用图像文件的正确方法是什么?

在使用图像文件的项目中创建"Resources"文件夹,通过Add As Link添加镜像文件。将其构建操作设置为Resource。那么包URI应该可以工作。

<Image Source="pack://application:,,,/Resources/logo.jpg"/>

我在VS2022中测试了上述内容,但在VS2019中也是一样的。

编辑

包URI是WPF中的一种常见技术,关键是它在从共享项目链接的文件的情况下仍然有效。

相关内容

  • 没有找到相关文章

最新更新