0
我結合使用Multibinding和的StringFormat到一個TextBox兩個字符串。MultiBinding with StringFormat - 爲什麼內部轉換器中的targetType ==對象?
<TextBox>
<TextBox.Text>
<MultiBinding StringFormat="{}{0} {1} ">
<Binding Path="Foo"
Converter="{StaticResource someConverter}"
ConverterParameter="true" />
<Binding Path="Bar" />
</MultiBinding>
</TextBox.Text>
</TextBox>
在轉換器的TargetType的屬性將是對象:當我添加一個轉換器內綁定的一個,這樣我也注意到一些奇怪的事情。直接在Text屬性(不multibinding)使用相同的轉換器是串。
我不知道爲什麼是發生的事情,如果有讓轉換器的任何方式瞭解父結合的類型(不知道的術語是正確這裏)。
的原因,我問的是,我通常檢查到/從轉換器類型和我回Binding.DoNothing如果有一個不匹配。
感謝您的回答!很明顯,內部綁定不是Text的直接子節點,而是MultiBinding的子節點,但是使用StringFormat我會假定它需要字符串。現在,你是在暗示是一個可接受的解決方法(不這麼挑剔的轉換器的類型驗證),但它需要複製現有轉換器(現在多值)爲同一任務。 – pangabiMC