如何使用XAML触发器来表示值大于或等于?

时间:2009-05-27 11:41:31

标签: xaml triggers

我可以创建简单的触发器来检查属性是否具有特定值,如下所示:

<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>

是否有某些属性如“操作员”,或者我是否需要使用转换器或如何在触发器中实现复杂的操作符

1 个答案:

答案 0 :(得分:1)

您不能在触发器中拥有复杂的运算符。转换器是一个很好的方法;也许从int到bool为你的例子,或int到enum如果有两个以上的状态。

我认为你不想在XAML中嵌入复杂的逻辑。成为维护噩梦不会花费很长时间。