我不知道是否有可能在使用wpf数据绑定时级联转换器。 例如像WPF数据绑定和级联转换器?
<SomeControl Visibility="{Binding Path=SomeProperty, Converter={StaticResource firstConverter}, Converter={StaticResource secondConverter}}"/>
是否有可能在所有或我必须创建一个自定义转换器,结合转换器A和B的功能?
我不知道是否有可能在使用wpf数据绑定时级联转换器。 例如像WPF数据绑定和级联转换器?
<SomeControl Visibility="{Binding Path=SomeProperty, Converter={StaticResource firstConverter}, Converter={StaticResource secondConverter}}"/>
是否有可能在所有或我必须创建一个自定义转换器,结合转换器A和B的功能?
您可以尝试使用MultiBinding,并将两次绑定到相同的源,但在单个绑定上具有不同的转换。喜欢的东西:
<SomeControl>
<SomeControl.Visibility>
<MultiBinding Converter="{StaticResource combiningConverter}">
<Binding Path="SomeProperty" Converter="{StaticResource firstConverter}"/>
<Binding Path="SomeProperty" Converter="{StaticResource secondConverter}"/>
</MultiBinding>
</SomeControl.Visibility>
</SomeControl>
然后在“combiningConverter”你把从两个绑定来的值相结合的逻辑。
您可能正在寻找类似于Josh Smith的“Piping Value Converters”的解决方案。
在他的文章,他提出以下几点:
<local:ValueConverterGroup x:Key="statusDisplayNameGroup">
<local:IntegerStringToProcessingStateConverter />
<local:EnumToDisplayNameConverter />
</local:ValueConverterGroup>
,然后使用多值转换如下:
<TextBlock Text="{Binding [email protected],
Converter={StaticResource statusDisplayNameGroup}}" />
希望这有助于!