我无法将图像绑定到转换器来源?
<!-- Works fine -->
<Image Grid.Row="0" Grid.Column="4" Grid.RowSpan="6" Margin="5">
<Image.Source>
C:\pictures\Becker.png
</Image.Source>
</Image>
<!-- Works not -->
<Image Source="{Binding ClientPicture, Converter={StaticResource clientpictureconv}, ConverterParameter={Binding ClientNumber}}"/>
在转换器中,我返回硬编码的图片Uri(从顶部)。如果我用Textblock替换Image,则会显示完整的uri。但是Image中的图片没有。
我该怎么办?
答案 0 :(得分:4)
那是因为Image.Source不接受URI
对象;需要ImageSource
个对象。您的转换器应创建其中一个并将其传回。把它放在你的转换器中,它会起作用:
return new BitmapImage(myUri);
请注意,BitmapImage
是一种ImageSource
。
您的第一个示例有效,因为XAML会隐式地将URI字符串转换为ImageSource。当您使用转换器显式传回URI对象时,它无法做到这一点。