如果字段的值包含指定的文本,我正在尝试更改文本框的背景。我遇到的问题是我已经有一个应用于该字段的样式,我尝试覆盖该样式的属性,如下例所示,但没有成功。任何想法我怎么能实现这个目标?
<TextBox Grid.Column="1"
HorizontalAlignment="Right"
Text="{Binding CustomerType}" >
<TextBox.Style BasedOn="{DynamicResource SelectableTextStyle}">
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding CustomerType}" Value="Unknown">
<Setter Property="TextBox.Background" Value="Tomato"/>
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
答案 0 :(得分:0)
您编写的样式定义可能甚至不应该编译,因为您在属性元素(TextBox.Style标记)上使用了一个属性。
更新您的代码,以便内部样式定义具有'BasedOn'属性,如下所示:
<TextBox.Style>
<Style TargetType="TextBox" BasedOn="{DynamicResource SelectableTextStyle}">
<Style.Triggers>
....
一切都会变成肉汁。