WPF-将图像作为资源导入

WPF-将图像作为资源导入,wpf,image,Wpf,Image,在WinForms中,可以将映像作为资源导入,并且在/bin/Debug文件夹中编译映像时仍然可以工作 我不知道如何在WPF中工作,当我运行应用程序时,映像不会加载,因为映像保存在/Projects/AppName/images/中,当我在调试模式下运行时,应用程序被编译成/Projects/AppName/bin/Debug 我是否只需要复制一份Images文件夹并将其放在应用程序编译的地方?还是有别的办法。以下是显示我的图像的代码: <Image Width="300">

在WinForms中,可以将映像作为资源导入,并且在/bin/Debug文件夹中编译映像时仍然可以工作

我不知道如何在WPF中工作,当我运行应用程序时,映像不会加载,因为映像保存在
/Projects/AppName/images/
中,当我在调试模式下运行时,应用程序被编译成
/Projects/AppName/bin/Debug

我是否只需要复制一份Images文件夹并将其放在应用程序编译的地方?还是有别的办法。以下是显示我的图像的代码:

<Image Width="300">
    <Image.Source>
        <BitmapImage DecodePixelWidth="300" UriSource="/images/jamsnaps-dark.png" />
    </Image.Source>
</Image>

两个选项:

1) 从bin/Debug中取出,通过.././进入应用程序文件夹,然后进入映像

  <Image>
      <Image.Source>
           <BitmapImage  UriSource="../../images/jamsnaps-dark.png" />
      </Image.Source>
   </Image>

2) 从图像文件的上下文菜单中的属性将图像编译为内容,然后在编译时将其置于“已调试”中。 我不记得您是否也需要告诉他们在属性中复制本地内容(我现在不在计算机附近,所以无法检查。

  • 在Visual Studio项目中创建文件夹(例如,
    图像
  • 将图像文件添加到该文件夹
  • 将其
    构建操作
    设置为
    资源
    (在属性窗口中,请参见中的第二幅图像)
然后像以前一样编写
UriSource
属性:

UriSource="/images/jamsnaps-dark.png"
该URI实际上是一个URL,其中前缀由WPF自动添加

  • 将映像添加到项目目录中
  • 在解决方案资源管理器中,右键单击图像并选择
    Include In Project
  • 默认情况下,生成操作应设置为
    Resource


    然后,您可以开始使用相对于根目录的图像路径,例如
    images/text.jpg
    ,如果您将其放在名为
    images

    的文件夹中,也可以使用,但其他回答解释得更好:)他做了其他事情。这也很好。这一点是要知道您将文件定位在何处,它们可以作为资源/内容进行编译,也可以仅仅放置在您的解决方案中。我不记得每种方法的优缺点。。