我们有一个奇怪的情况,一个用作Binding
子元素的MultiBinding
需要其Converter
的{{1}}方法来知道最终数据类型{{1 }}已绑定。
对于具有Convert
的常规MultiBinding
,如果将其绑定到Binding
的{{1}}属性,则Converter
方法将收到{{1 }}的Text
参数中。
但是,即使将相同的TextBlock
作为Convert
的子元素添加,即使将System.string
分配给targetType
属性本身,所有子元素{{ 1}}的{{1}}的{{1}}方法将收到Binding
作为MultiBinding
的参数,而不是MultiBinding
。从技术上讲,这种目标很有意义,因为它们的目标现在是Text
,而不是Binding
属性。
仍然,我想知道是否可以进行设置,以便将信息传递给子Converter
。我想不,但我想如果有人知道,那就是S.O。社区。 p>
答案 0 :(得分:0)
好的,所以……简短的答案是'不,你不能!'但是,很长的答案是“是的,您需要做一些工作!”
诀窍不是让子绑定处理转换器,而是从MultiBinding自己的转换器中手动调用它。
我实际上在StackOverflow.com上的以下答案中对此进行了详尽的解释:
How to create a DynamicResourceBinding。
具体来说,请同时检查ProvideValue
和WrapperConvert
函数。很多评论解释了发生了什么以及为什么。