将Image源绑定到TextBox.Text

时间:2009-07-16 15:05:56

标签: wpf image

我正在尝试使用以下代码将名为“txtImage”的TextBox文本绑定到图像,但没有结果:

<Image Source="{Binding ElementName=txtImage, Path=Text}" />

正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

图像的来源需要BitmapImage,因此尝试使用值转换器将字符串转换为图像:

public sealed class ImageConverter : IValueConverter
{
    public object Convert(object value, Type targetType,
                          object parameter, CultureInfo culture)
    {
        try
        {
            return new BitmapImage(new Uri((string)value));
        }
        catch 
        {
            return new BitmapImage();
        }
    }

    public object ConvertBack(object value, Type targetType,
                              object parameter, CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}
<Image>
    <Image.Source>
        <BitmapImage UriSource="{Binding ElementName=txtImage, Path=Text, Converter=...}" />
    </Image.Source>
</Image>

参考:Image UriSource and Data Binding