WPF从Project Resources绑定图像源

时间:2013-08-04 10:02:32

标签: c# wpf binding resources

好的,我的项目资源大约有5 Images。我想要做的是从我的项目资源中绑定Image.Source。 Im C#编码非常简单,我只是这样做:

ImageHolder.Source = Propetries.Resources.Image1.png

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

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

提前致谢。

2 个答案:

答案 0 :(得分:5)

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

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

<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

答案 1 :(得分:2)

确保Build Action的{​​{1}}标记为image,然后您可以在XAML中执行此操作 -

Resource

假设<Image Source="Properties/Resources/a.png"/> 是项目中存在图像的文件夹结构。