类似的东西:
<TextBlock Text="{Binding Text,Converter={StaticResource
ccc},ConverterParameter=PersonName}"/>
例如,当人名是该类的属性时。
更新
我见过一个解决方案,它告诉我们继承DependencyObject并实现IValueConverter。 我想知道是否有更简单的东西。
答案 0 :(得分:5)
答案是直截了当的,但不是你想听到的。
您只能在DependencyObject上的DependencyProperty上定位绑定。绑定不会从DO继承,因此您无法绑定转换器参数。
如果您希望将其他状态传递给转换器,则可能必须将所需的对象子类化并添加新属性
答案 1 :(得分:2)
你看过MultiBinding吗?如果您想要将两个属性发送到转换器,例如“Text”和“PersonName”,您可以执行以下操作:
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource ccc}">
<Binding Path="Text"/>
<Binding Path="PersonName"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
这假定“Text”和“PersonNames”是DataContext上的属性。如果不是这种情况,您可能需要更改绑定路径。