绑定到图像属性

时间:2010-07-02 14:54:46

标签: wpf image data-binding

假设我有以下虚拟课程:

public class Foo
    {
        public Image MyImage
        {
            get;
            set;
        }
    }

我在一些XAML中有以下内容

<Image Source="{Binding Foo.MyImage}"/>

如果我理解正确,这不起作用,因为Source期望存储MyImage的URI字符串值,但在这种情况下没有URI,因为MyImage在内存中。

我怎样才能使上述工作成功?

编辑:

这就是MyImage的创建方式:

private void CreateBarCode(string bcValue)
    {
        Code128 bc128 = new Code128();
        bc128.HumanReadable = Code128.TextWhere.Below;
        this.MyImage = new Bitmap(bc128.Generate(bcValue)); 
    }

通过一个获取字符串值并返回Bitmap格式的条形码的方法。

1 个答案:

答案 0 :(得分:0)

Source控件上的Image属性属于ImageSource类型。您的MyImage媒体资源之一可在MyImage.Source访问。所以你的xaml看起来像

<Image DataContext={Binding Path=_anInstanceOfClassFoo} Source="{Binding Path=MyImage.Source}"/>

通常不直接设置DataContext,而是让它从父控件继承。我只是这样做,因为在你的例子中,你的绑定直接引用了Foo类而不是实例