wpf - 如何将资源转换为 xaml 文件中的其他类型?
问题描述
我的英语水平很差,因为我不是以英语为母语的人。我希望你能理解。
我想将字符串资源转换为 ImageSource。
例如,字符串类型资源在 Linkes.xaml 中定义,如下所示。
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Wpf.UI.Basic.DarkTheme"
xmlns:system="clr-namespace:System;assembly=mscorlib">
<system:String x:Key="CloseImagePath">/Wpf.UI.Basic;component/Resources/Close.png</system:String>
</ResourceDictionary>
我在 Window.xaml(自定义控件)中使用了上述资源,如下所示。
<Image x:Name="CloseImage"
Source="{DynamicResource CloseImagePath}"
Stretch="None"
Margin="4"/>
但是当我像上面那样尝试时,我遇到了字符串类型无法转换为 ImageSource 类型的错误。
所以我尝试添加一个从字符串转换为 ImageSource 的转换器,但由于无法将转换器添加到资源中,所以我不能这样做。
所以我想将转换器添加到 DynamicResource 以从字符串类型转换为 ImageSource 类型。
我应该怎么做才能实现上述目标?我想听听你的建议。
感谢您的阅读。
解决方案
声明一个 BitmapImage 资源而不是一个字符串:
<BitmapImage x:Key="CloseImage" UriSource="/Wpf.UI.Basic;component/Resources/Close.png"/>
...
<Image Source="{DynamicResource CloseImage}" .../>
推荐阅读
- php - 将 codeigniter 系统移至 Amazon AWS 后的 PHP 问题
- c# - 是否可以过滤 ICollectionView 以仅显示子级而不是整个层次结构?
- dataframe - 逐行计算pyspark数据帧中的空值数
- php - Ubuntu 18.04 中的 Composer 缺少库
- mysql - MySQL - 平均忽略 Null 并基于工作日
- git - 修复 git repo 中移动的子模块?
- python - 关于研究和索引的python问题
- sql - BigQuery SQL 错误:在 [9:15] 内未找到最新的名称排名
- c++ - 每个项目可以有多个非唯一键的容器(c++17)
- c++ - 从 exe 文件启动时调试断言失败(Visual Studio)