我知道我可以创建一个setter,以检查值是否为NULL并执行某些操作。例:

<TextBlock>
  <TextBlock.Style>
    <Style>
      <Style.Triggers>
        <DataTrigger Binding="{Binding SomeField}" Value="{x:Null}">
          <Setter Property="TextBlock.Text" Value="It's NULL Baby!" />
        </DataTrigger>
      </Style.Triggers>
    </Style>
  </TextBlock.Style>
</TextBlock>

但是,如何检查“not”值……如“NOT NULL”或“NOT = 3”?在XAML中有可能吗?

结果:感谢您的回答……我知道我可以做一个值转换器(这意味着我必须输入代码,而这并不是我所希望的纯XAML)。但是,这确实回答了这样一个问题:实际上,您不能在纯XAML中做到这一点。但是,选择的答案可能显示了创建此类功能的最佳方法。好发现。

最佳答案

我在DataTriggers上遇到了类似的限制,似乎您只能检查是否相等。我所见过的对您可能最有帮助的是一种用于进行除相等以外的其他类型比较的技术。

This blog post描述了如何在DataTrigger中进行LT,GT等比较。

如Robert Macnee的回答所建议,可以通过使用Converter将数据按摩成一个可以与之比较的特殊值,从而在某种程度上解决DataTrigger的限制。

关于wpf - 值不为null的DataTrigger吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/356194/

10-08 22:45