0

如果字段的值包含指定的文本,我正在尝试更改文本框的背景。我遇到的问题是我已经将样式应用于该字段,并且我尝试像下面的示例中那样覆盖样式的属性,但没有成功。有什么想法我怎么能做到这一点?

<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>
4

1 回答 1

0

您编写的样式定义甚至可能无法编译,因为您在属性元素(TextBox.Style 标记)上使用了属性。

更新您的代码,使内部样式定义具有 'BasedOn' 属性,如下所示:

<TextBox.Style>
    <Style TargetType="TextBox" BasedOn="{DynamicResource SelectableTextStyle}">
        <Style.Triggers>
        ....

一切都将是肉汁。

于 2013-06-06T12:11:51.610 回答