wpf 按钮内容中的样式 DataTrigger Setter 无效
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/13060932/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Style DataTrigger Setter in Button Content is invalid
提问by JerryBaxia
<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>
Style DataTrigger Setter in Button Content is invalid
按钮内容中的样式 DataTrigger Setter 无效
Thanks
谢谢
回答by stukselbax
Your DataTriggeris not change the value of the Contentproperty because you set it inside the Buttondeclaration. So, once setted, it will never changed. To allow changing, you have to set the value inside the Style.
您的DataTrigger不会更改该Content属性的值,因为您将其设置在Button声明中。所以,一旦设定,就永远不会改变。要允许更改,您必须在Style 中设置值。
This will works (I've tried):
这会起作用(我试过):
<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>

