这是绑定:
<Image Width="16" Height="16" Source="{Binding SwitchForImage, Converter={StaticResource stringToImage}}" HorizontalAlignment="Left">
</Image>
这里是转换器
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
string type = (string)value;
BitmapImage logo = new BitmapImage();
logo.BeginInit();
logo.UriSource = new Uri(@"pack://application:,,,/Resources/"+type+@"Icon.png");
logo.EndInit();
return logo;
}
当我运行时,给出这个异常“无法找到资源'资源/ * icon.png'”。但是我把png文件放到名为Resources的文件夹中。我正在创建库。这些都在库中。对于我使用它的测试,然后发生了这个问题。
我添加了png文件作为“include to project”.Build action是“Content”。但我也尝试过其他人(资源,嵌入式资源)
[答案] 我将Build Action更改为Resource并更改了Convert:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return "/AutoComplete;component/Resources/" + (string)value + "Icon.png";
}
一切正常。
答案 0 :(得分:0)
我将Build Action更改为Resource并更改了Convert方法:
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return "/AutoComplete;component/Resources/" + (string)value + "Icon.png";
}