2011-12-14 41 views
0

这里是有约束力的:我不能绑定图片来源

<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/"[email protected]"Icon.png"); 
     logo.EndInit(); 
     return logo; 
    } 

当我运行,给出了这样的例外“无法找到资源的资源/ *的icon.png“ “但是我把png文件放到了Resources.I文件夹中,我正在创建库。这些都在库中。为了测试我使用了它,然后发生了这个问题。

我加入PNG文件,“包括项目” .Build行动是“内容”。但我想其他人也(资源,嵌入资源)

【答案】 我改变生成操作的资源,改变转换像这样:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
    { 
     return "/AutoComplete;component/Resources/" + (string)value + "Icon.png"; 
    } 

而且一切正常。

+0

是在同一集的文件夹资源为XAML文件或者是一些其他的组件?此外,你的PNG文件是用作嵌入式资源还是松散文件? – VS1 2011-12-14 05:54:26

回答

0

我改变生成操作的资源,改变转换方式类似:

public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) 
{ 
    return "/AutoComplete;component/Resources/" + (string)value + "Icon.png"; 
}