2011-08-12 12 views
0

多くのセルがあるグリッドがあり、このセルの背景をスタイル内のデータクラスのプロパティにバインドするとします(実際にはデータクラスのプロパティはColorの型ですが、これは問題ではありません。コンバータを使用してBrushに変換できるためです)、バインドからの依存関係プロパティ値のリセット

私のデータクラスの条件が真であれば、背景が赤くなりたい場合は、データが変更される可能性がありますので、条件がtrueとfalseになる可能性があります。背景赤またはデフォルト値を入力してください

私は約Binding.DoNothingDependencyProperty.UnsetValueについて知っていますase、私もCell.BackgroundProperty.DefaultValueを試しましたが、それはnullです。

したがって、バインドされたデータプロパティから値をリセットするように依存プロパティを強制的に戻すことができる値はありますか?

ありがとうございます!

答えて

1

DataTriggerを使用し、プロパティがtrueの場合は値をバインドするだけで、プロパティが常にバインドされているわけではないため、非常に便利なブール値プロパティがある場合。

<Style.Triggers> 
    <DataTrigger Binding="{Binding MyCondition}" Value="True"> 
     <Setter Property="Background" Value="Red"/> 
    </DataTrigger> 
</Style.Triggers> 

デフォルトと赤の間の決定しかない場合は、追加のプロパティやバインディングはまったく必要ありません。

+0

良い提案(リセット値は私の知識への結合では不可能である)が、私はブール型プロパティを持っていない、私は、グリッド行のために解析され、実行されるべきテキストの条件を、持っている、と応じて、これにより、適用する色を決定します。私はEntityViewModelでboolを持つことができないので、この機能をいくつかのコアフレームワークに入れたいので、BTWの行はどのようなタイプでもかまいません。 –

+1

@ArsenMkrt:コンバーターに入れて、この条件が成立すると、MultiTriggerを使用できます複数の特性に依存する。 –

+0

私の質問に答えることはできませんが、トリガを使用するための良いアドバイスは、私はビジネスロジックを説明することができません、なぜ私はトリガを使用することはできません。ありがとう –

関連する問題