WPF - 将图像导入为资源

Mar*_*all 29 wpf image

我最近一直在教自己WinForms,但我现在已经切换到更现代的WPF,这是更好的SOOO!

我现在唯一困惑的是使用图像.现在在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>
Run Code Online (Sandbox Code Playgroud)

Cle*_*ens 52

  • images在Visual Studio项目中创建一个文件夹(例如).
  • 将图像文件添加到该文件夹​​.
  • 将它们设置Build ActionResource(在"属性"窗口中,查看此答案中的第二个图像).

然后UriSource像你已经做的那样写下这个属性:

UriSource="/images/jamsnaps-dark.png"
Run Code Online (Sandbox Code Playgroud)

该URI实际上是资源文件包URI,其中前缀由WPF自动添加.


era*_*zap 5

两种选择:

1) 从 bin/Debug 退出,通过 ../../ 进入您的应用程序文件夹,然后进入您的图像。

  <Image>
      <Image.Source>
           <BitmapImage  UriSource="../../images/jamsnaps-dark.png" />
      </Image.Source>
   </Image>
Run Code Online (Sandbox Code Playgroud)

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