【问题标题】:WPF Binding image source from Project Resources来自项目资源的 WPF 绑定图像源
【发布时间】:2013-08-04 10:02:31
【问题描述】:

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

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

如何在 XAML 中做到这一点? 像这样的:

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

提前致谢。

【问题讨论】:

    标签: c# wpf binding resources


    【解决方案1】:

    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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • @Drammy - 我猜这只是 OP 的一个错字。无论如何更新了答案。
      猜你喜欢
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      相关资源
      最近更新 更多