【发布时间】:2014-03-30 18:59:51
【问题描述】:
我正在使用 Multibinding 和 StringFormat 将两个字符串绑定到一个文本框。当我将 Converter 添加到其中一个内部绑定时,我注意到一些奇怪的事情,如下所示:
<TextBox>
<TextBox.Text>
<MultiBinding StringFormat="{}{0} {1} ">
<Binding Path="Foo"
Converter="{StaticResource someConverter}"
ConverterParameter="true" />
<Binding Path="Bar" />
</MultiBinding>
</TextBox.Text>
</TextBox>
在转换器中,TargetType 属性将是 object。直接在 Text 属性上使用相同的转换器(没有多重绑定)它是 string。
我想知道 为什么 会发生这种情况,以及是否有任何方法可以让转换器知道 parent 绑定的类型(不确定术语是否在这里是正确的)。
我问的原因是我通常检查转换器中的 to/from 类型,如果不匹配,我会返回 Binding.DoNothing。
【问题讨论】:
标签: wpf xaml data-binding type-conversion