首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在WPF中为数据触发器提供多个条件?

如何在WPF中为数据触发器提供多个条件?
EN

Stack Overflow用户
提问于 2009-05-25 08:51:03
回答 2查看 136.8K关注 0票数 184

如何在WPF中为数据触发器提供多个条件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-05-25 08:53:23

使用MultiDataTrigger类型

代码语言:javascript
复制
<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>
票数 297
EN

Stack Overflow用户

发布于 2011-01-12 00:36:35

@jasonk -如果你想有“或”,那么否定所有条件,从(A和B) <=> ~(~A或~B)

但是,如果您的值不是布尔值,请尝试使用类型转换器:

代码语言:javascript
复制
<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方法中的值,以生成适合您的条件。

票数 54
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/905932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档