【发布时间】:2019-03-28 10:43:58
【问题描述】:
<Style.Triggers>
<DataTrigger Binding="{Binding Result.IsRejected}" Value="True">
<Setter Property="Foreground" Value="Green"/>
</DataTrigger>
<DataTrigger Binding="{Binding Result.RilibakViolation}" Value="True">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding Result.RilibakViolation}" Value="False">
<Setter Property="Foreground" Value="{DynamicResource ControlsForegroundColor}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Result.IsViolated}" Value="True">
<Setter Property="Foreground" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding Result.IsViolated}" Value="False">
<Setter Property="Foreground" Value="{DynamicResource ControlsForegroundColor}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Result.ResultIncluded}" Value="False">
<Setter Property="Foreground" Value="IndianRed"/>
</DataTrigger>
</Style.Triggers>
我有这段代码,我尝试根据该 Result 对象的不同属性更改前景色。我的问题是只有最后 3 个工作和 IsRejected 或 RilibakViolation 不起作用。例如:即使第一个为真,它也不会显示为绿色。此代码是否有另一种方法使其适用于所有这些情况?
【问题讨论】:
-
你测试过
Result的哪些状态?您的所有触发器都会更改Foreground,因此最新的触发器会胜出。
标签: c# wpf xaml datatrigger