wpf - 使用 XAML 绑定(bind)到添加到 resx 文件的图像的图像

标签 wpf image resources

我的 WPF 应用程序包含一个资源文件 MyResources.resx,其中包含多个字符串和图像。因为应用程序需要本地化,所以我对全局化资源的所有引用都必须通过自动生成的 MyResources 类的命名属性进行。以下代码适用于字符串资源:

<Button Content="{x:Static local:Properties.MyResources.ButtonText}" />

然而,同样不适用于图像。假设我将图像 eflag.bmp 作为名为 Flag 的资源添加到资源中,我希望能够执行以下操作:
<Image Source="{x:Static local:Properties.MyResources.Flag}" />

请注意以下替代方法:
<Image Source="/MyNamespace;component/Resources/eflag.bmp" />

在这种情况下不能使用,因为它无法处理本地化。该问题可以使用后面的代码解决,但我正在寻找基于 XAML 的解决方案。

最佳答案

将您的 x:Static 转换为 Binding.Source 并添加一个 Converter 执行 Bitmap to ImageSource

Source="{Binding Source={x:Static local:Properties.MyResources.Flag},
                 Converter={StaticResource BitmapToImageSourceConverter}}"

或者,您可以使转换器成为自定义 markup extension ,它采用 Bitmap 并在 ImageSource 中返回 ProvideValue

Source="{me:BitmapToImageSource {x:Static local:Properties.MyResources.Flag}}"

关于wpf - 使用 XAML 绑定(bind)到添加到 resx 文件的图像的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8062221/

相关文章:

WPF 用户控件与 MVVM ViewModel 的数据绑定(bind)

wpf - 如何在代码隐藏中设置和获取文本框的 updatesourcetrigger?

android - sqlite 中的图像巨大

python - 设置并选择要浏览其图像的画廊

css - 未显示的图像是否已下载?

java - 使用 Maven Jaxb 编译时如何在目标 Jar 文件中包含 Xml 模式/资源?

wpf - 有没有办法在存储在内存中的 WPF 中显示图像?

c# - 列表框中的 WPF 数据模板多态性

iOS:如何备份项目?

android - 带有 "%"符号的字符串资源