如何在WPF中为数据触发器提供多个条件?
发布于 2009-05-25 08:53:23
使用MultiDataTrigger类型
<Style TargetType="ListBoxItem">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=State}" Value="WA">
<Setter Property="Foreground" Value="Red" />
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=Name}" Value="Portland" />
<Condition Binding="{Binding Path=State}" Value="OR" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Cyan" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
发布于 2011-01-12 00:36:35
@jasonk -如果你想有“或”,那么否定所有条件,从(A和B) <=> ~(~A或~B)
但是,如果您的值不是布尔值,请尝试使用类型转换器:
<MultiDataTrigger.Conditions>
<Condition Value="True">
<Condition.Binding>
<MultiBinding Converter="{StaticResource conditionConverter}">
<Binding Path="Name" />
<Binding Path="State" />
</MultiBinding>
</Condition.Binding>
<Setter Property="Background" Value="Cyan" />
</Condition>
</MultiDataTrigger.Conditions>
您可以以任何方式使用Convert方法中的值,以生成适合您的条件。
https://stackoverflow.com/questions/905932
复制相似问题