[英]WPF Value Converter
我正在制作WPF应用程序,并且我需要一个具有多个绑定路径的值转换器,这可能吗?
到目前为止,它只适用于1条路径:
Binding="{Binding Path=Price, Converter={StaticResource vPriceConvertor}}"
我想给转换器提供Price
和discount
,以便他可以计算出最终endprice
。
看一下MultiBinding类。 例如:
<TextBlock Name="textBlock" DataContext="{StaticResource myViewModel}">
<TextBlock.Text>
<MultiBinding Converter="{StaticResource vPriceConvertor}"
ConverterParameter="myParameter">
<Binding Path="Price"/>
<Binding Path="Discount"/>
<!-- Insert other paths here -->
</MultiBinding>
</TextBlock.Text>
</TextBlock>
实现IMultiValueConverter而不是IValueConverter来实际执行转换,因为它支持多个源。
值转换器旨在用于值转换。 这就是为什么它们是价值转换器 。
若要执行所需的操作,应在视图模型中创建属性EndPrice
,并在视图模型中计算其值。 您为什么要尝试将非UI逻辑引入UI?
帕里斯-
您始终可以创建一个包含价格和折扣的集合(在View模型中),然后将其通过XAML(通过IValueConverter)传递。
但是要重申@Dennis和其他所有人的观点-那么您的转换器将具有计算逻辑-不建议这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.