按钮内容中的样式DataTrigger Setter无效

时间:2012-10-25 03:02:23

标签: wpf

<StackPanel>
    <TextBox Text="" x:Name="input"/>
    <Button Content="DataTrigger Before">
        <Button.Style>
            <Style TargetType="Button">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=input, Path=Text}" Value="1">
                        <Setter Property="Content" Value="Changed"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>
</StackPanel>

按钮内容中的样式DataTrigger Setter无效

由于

1 个答案:

答案 0 :(得分:29)

您的 DataTrigger 不会更改Content属性的值,因为您在按钮声明中进行了设置。因此,一旦设置,它将永远不会改变。要允许更改,您必须在样式中设置值。

这将有效(我已经尝试过):

<StackPanel>
    <TextBox Name="input"/>
    <Button>
        <Button.Style>
            <Style TargetType="Button">
                <Setter Property="Content" Value="DataTrigger Before"></Setter>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=input, Path=Text}" Value="1">
                        <Setter Property="Content" Value="Changed"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Button.Style>
    </Button>
</StackPanel>