我可以创建简单的触发器来检查属性是否具有特定值,如下所示:
<Style x:Key="StatusIndicator" TargetType="TextBlock">
<Style.Triggers>
<DataTrigger Binding="{Binding Status}" Value="off">
<Setter Property="TextBlock.Foreground" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
但是我如何使用任何更复杂的运算符,例如:
伪码:
<DataTrigger Binding="{Binding Amount}" Operator=">=" Value="35">
<Setter Property="TextBlock.Foreground" Value="Red"/>
</DataTrigger>
是否有某些属性如“操作员”,或者我是否需要使用转换器或如何在触发器中实现复杂的操作符?
答案 0 :(得分:1)
您不能在触发器中拥有复杂的运算符。转换器是一个很好的方法;也许从int到bool为你的例子,或int到enum如果有两个以上的状态。
我认为你不想在XAML中嵌入复杂的逻辑。成为维护噩梦不会花费很长时间。