5

好的,我的项目资源中有大约 5 个Images。我想做的是Image.Source从我的项目资源中绑定一个。我的 C# 代码很简单,我只是这样做:

ImageHolder.Source = Propetries.Resources.Image1.png.

这如何在 XAML 中完成?像这样的东西:

<Image Source={??????}/>

提前致谢。

4

2 回答 2

6

当您将图像添加到 resx 文件时,Visual Studio 将创建 Resources 文件夹并将您的图像文件放入其中。

为了在绑定中使用此图像,您需要将构建操作从无更改为资源。之后,您可以按如下方式绑定:

<Image Source="Resources/your_image_name.png"/>

您不能直接绑定到 Propetries.Resources.your_image_name,因为您需要将 System.Drawing.Bitmap 转换为 WPF BitmapSource。但是您可以绑定到 Resource.resx 中的字符串:

<TextBlock Text="{x:Static properties:Resources.YourStringResource}"></TextBlock>

在此处阅读如何将 System.Darwing.Bitmap 转换为 WPF 位图:Load a WPF BitmapImage from a System.Drawing.Bitmap

这里是关于绑定到 resx 文件中的值: Get values from *.resx files in XAML

于 2013-11-01T18:26:28.417 回答
2

确保您的Build Actionforimage标记为Resource,然后您可以在 XAML 中简单地执行此操作 -

<Image Source="Properties/Resources/a.png"/>

假设Propetries/Resources您的项目中存在图像的文件夹结构。

于 2013-08-04T10:07:04.853 回答