【发布时间】:2018-04-04 17:27:23
【问题描述】:
我有一个 TextBock,我在其中更改基于通过绑定布尔属性触发的 DataTrigger 的样式。 如果绑定属性的值为 true,我想要更改文本的 ForeGround 颜色。 如果它是假的,我想再次使用我的“默认”样式(BodyValueStyle1)。 到目前为止我的做法是:
<TextBlock.Style>
<Style BasedOn="{StaticResource BodyValueStyle1}" TargetType="{x:Type TextBlock}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsTrueOrFalse}" Value="True">
<Setter Property="TextBlock.Foreground" Value="Red"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsTrueOrFalse}" Value="False">
<Setter Property="TextBlock.Foreground" Value="Black"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
它工作正常,做我想做的事,但我不喜欢的是:
<DataTrigger Binding="{Binding IsTrueOrFalse}" Value="False">
<Setter Property="TextBlock.Foreground" Value="Black"/>
</DataTrigger>
有没有办法将样式“重置”为我的默认样式(BodyValueStyle1),而不是设置我之前在错误条件下更改的所有属性? 因为无论如何我的默认前景颜色都是黑色。
【问题讨论】: