我无法绑定图像源

时间:2011-12-14 05:43:35

标签: c# wpf image

这是绑定:

<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";
    }

一切正常。

1 个答案:

答案 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";
}