来自Converter的WPF Xaml图像

时间:2012-04-13 06:04:14

标签: wpf image xaml data-binding uri

我无法将图像绑定到转换器来源?

<!-- 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中的图片没有。

我该怎么办?

1 个答案:

答案 0 :(得分:4)

那是因为Image.Source不接受URI对象;需要ImageSource个对象。您的转换器应创建其中一个并将其传回。把它放在你的转换器中,它会起作用:

return new BitmapImage(myUri);

请注意,BitmapImage是一种ImageSource

您的第一个示例有效,因为XAML会隐式地将URI字符串转换为ImageSource。当您使用转换器显式传回URI对象时,它无法做到这一点。