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

Jer*_*xia 9 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>
Run Code Online (Sandbox Code Playgroud)

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

谢谢

stu*_*bax 31

您的DataTrigger不会更改Content属性的值,因为您在Button声明中设置它.因此,一旦设置,它将永远不会改变.要允许更改,您必须在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>
Run Code Online (Sandbox Code Playgroud)