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

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

按钮内容中的样式数据触发器Setter无效

谢谢

1个回答

32

由于您在Button声明中设置了Content属性,因此您的DataTrigger不会改变它的值。因此,一旦设定,它将永远不会改变。要允许更改,您必须在Style内设置该值。

这样会起作用(我已经试过):

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接