绑定到时候我遇到了一个特殊的行为Source
的财产Image
,使用转换器。
看来,如果我用一个简单Binding
使用IValueConverter
返回一个字符串correpsonding向图像的相对路径,一切正常,并显示图像。
在另一方面,如果我使用一个MultiBinding
与IMultiValueConverter
返回相同的字符串,绑定不起作用,并显示在VS2010输出窗口此错误信息:
System.Windows.Data错误:5:由BindingExpression产生值不是有效的目标属性; 值= '' MultiBindingExpression:目标元件是 '图像'(名称= ''); 目标属性是“源”(类型“的ImageSource”)
我发现这个工作,我不能返回一个简单的字符串(和甚至不是一个Uri
)。 我不是要建立在我的转换器的ImageSource(一BitmapImage
,其实),并将其返回。
你知道为什么这种奇怪的行为发生? 这之间的已知差异Binding
和MultiBinding
,或者是一个错误吗?
我发现了另一个计算器话题可能涉及到这一点,在那里阿尔文发布了关于时间的注释时绑定的解决:
我认为MultiBinding作出后TextBlock的渲染,以及(单)绑定之前TextBlok渲染 - Avlin
为了说明这个问题,我写了一个小的项目,你可以下载和测试 。
感谢您的见解!