1. ホーム
  2. wpf

[解決済み] DataTrigger where value is NOT null?

2022-04-21 12:33:33

質問

値が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 NULL"や"NOT = 3"のように、どうすれば"not"の値をチェックできますか? XAMLでそれは可能ですか?

結果 ご回答ありがとうございます・・・。値変換ができることは知っていました(つまり、コードで行くことになり、私が望んでいた純粋なXAMLではなくなってしまいますが)。しかし、それは事実上"no"純粋なXAMLでそれを行うことはできないという質問に答えるものです。しかし、選択された回答は、おそらく、以下の最良の方法を示しています。 作成 そのような機能を よくぞ見つけてくれました。

解決方法は?

DataTriggerで同じような制限にぶつかりましたが、どうやら等しいかどうかしかチェックできないようです。等値性以外の比較を行うためのテクニックが一番近いと思います。

このブログの記事 は、DataTriggerでLTやGTなどの比較を行う方法を説明しています。

このDataTriggerの制限は、Robert Macneeの回答にあるように、コンバータを使ってデータを特別な値に変換し、比較することである程度回避することができます。