【发布时间】:2013-08-04 10:02:31
【问题描述】:
好的,我的项目资源中有大约 5 Images。我想做的是从我的项目资源中绑定一个Image.Source。我的 C# 代码很简单,我只是这样做:
ImageHolder.Source = Propetries.Resources.Image1.png.
如何在 XAML 中做到这一点? 像这样的:
<Image Source={??????}/>
提前致谢。
【问题讨论】:
好的,我的项目资源中有大约 5 Images。我想做的是从我的项目资源中绑定一个Image.Source。我的 C# 代码很简单,我只是这样做:
ImageHolder.Source = Propetries.Resources.Image1.png.
如何在 XAML 中做到这一点? 像这样的:
<Image Source={??????}/>
提前致谢。
【问题讨论】:
Visual Studio 将创建 Resources 文件夹,并在您将图像添加到 resx 文件时将您的图像文件放入其中。
为了在绑定中使用此图像,您需要将构建操作从无更改为资源。之后你可以如下绑定:
<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
【讨论】:
确保将 image 的 Build Action 标记为 Resource,然后您可以在 XAML 中简单地执行此操作 -
<Image Source="Properties/Resources/a.png"/>
假设Propetries/Resources 是项目中存在图像的文件夹结构。
【讨论】: