一見すると、タスクは WPF TextBlock Negative Number In Redに似ています
私の場合ItemsControl
、ポイントのコレクションに表示する必要があります。各 Point には NumericValue 型のプロパティがいくつかあり、最終的には のラッパーになりNullable<double>
ます。
public class Point
{
NumericValue Proposal { get; set; }
NumericValue Accepted { get; set; }
NumericValue Approved { get; set; }
... etc.
}
Point のこれらすべてのプロパティを TextBox として表示します。クラス NumericValue にはプロパティ IsNegative があり、IsNegative=True の場合、対応する Textbox の Foreground を赤くしたいと考えています。
ただし、個々の TextBox ごとにスタイルでこのルールを定義するのではなく、IsNegative にバインドされた DataTrigger を使用して単一のスタイルを作成することをお勧めします。
簡略化された XAML は次のようになります。
<ItemsControl ItemsSource="{Binding Path=Points}">
...
<TextBox Text="{Binding Path=Data.Proposal.Value}" ... />
<TextBox Text="{Binding Path=Data.Accepted.Value}" ... />
...
</ItemsControl>
その単一のスタイルの DataTrigger のバインディング定義を手伝ってください。