我想知道是否存在无需转换器即可使用多重绑定的场景 - 以及迫使我们使用转换器的限制。
特别是,我试图以 string.format 样式将一个字符串绑定到另外两个字符串。
您最常使用的区域MultiBinding
没有转换器是指您有一个字符串格式连接两个单独的值
例如说:
要格式化具有第一个、最后一个部分的名称,并且您希望根据区域设置对其进行格式化
<StackPanel>
<TextBlock x:Name="firstName"
Text="John" />
<TextBlock x:Name="lastName"
Text="Wayne" />
<TextBlock>
<TextBlock.Text>
<MultiBinding StringFormat="{}{0} {1}">
<Binding ElementName="firstName"
Path="Text" />
<Binding ElementName="lastName"
Path="Text" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
</StackPanel>
自从使用转换器以来,您确实看到很多地方都使用转换器MultiBinding
你做的和a一样Binding
但是您有多个源值格式化为单个结果,而不是单个输入 -> 单个输出。
您可以进行绑定ConverterParameter
提供另一个输入值,但是您有一些限制,例如无法为其提供运行时绑定值,这使得MultiBinding
更适合您想要绑定所有输入的多个输入。
它归结为您的用例,如果您想根据您以自定义方式评估的不同输入类型提供结果,您需要一个转换器(与 Binding 非常相似。只需将差异视为 1 个输入绑定- 能够值对抗多个)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)