单个文本框样式,用于以红色显示所有负数
本文关键字:显示 红色 文本 样式 用于 单个 | 更新日期: 2023-09-27 18:34:16
乍一看,任务看起来类似于WPF 文本块负数为红色
就我而言,我必须在ItemsControl
中显示积分集合。每个点都有几个类型为 NumericValue 的属性,这些属性最终是 Nullable<double>
的包装器。
public class Point
{
NumericValue Proposal { get; set; }
NumericValue Accepted { get; set; }
NumericValue Approved { get; set; }
... etc.
}
我将点的所有这些属性显示为文本框。类 NumericValue 具有属性 IsNegative,如果 IsNegative=True,我希望相应文本框的前景为红色。
但是,我不想在每个单独的文本框的样式中定义此规则,而是创建具有绑定到 IsNegative 的 DataTrigger 的单个样式。
简化的 XAML 如下所示。
<ItemsControl ItemsSource="{Binding Path=Points}">
...
<TextBox Text="{Binding Path=Data.Proposal.Value}" ... />
<TextBox Text="{Binding Path=Data.Accepted.Value}" ... />
...
</ItemsControl>
请帮助我为该单一样式的数据触发器定义绑定定义。
使用 WPF TextBlock 中给出的转换器 负数以红色显示
如下 <ItemsControl ItemsSource="{Binding Path=Points}">
...
<TextBox Text="{Binding Path=Data.Proposal.Value}" Foreground="{Binding Data.Proposal.IsNegative, Converter={StaticResource valueToBackground}}" />
...
</ItemsControl>
您可以按照如何:在 WPF 中使用 XAML 的条件格式设置进行操作。我认为这对你有帮助。