假设我有以下虚拟课程:
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格式的条形码的方法。
答案 0 :(得分:0)
Source
控件上的Image
属性属于ImageSource
类型。您的MyImage
媒体资源之一可在MyImage.Source
访问。所以你的xaml看起来像
<Image DataContext={Binding Path=_anInstanceOfClassFoo} Source="{Binding Path=MyImage.Source}"/>
通常不直接设置DataContext,而是让它从父控件继承。我只是这样做,因为在你的例子中,你的绑定直接引用了Foo类而不是实例