C# 按钮IsEnabled触发器不工作
我有一个C# 按钮IsEnabled触发器不工作,c#,wpf,button,triggers,isenabled,C#,Wpf,Button,Triggers,Isenabled,我有一个按钮及其样式: <Button Name="MyBtn" Style="{StaticResource ButtonEnabledStyle}" IsEnabled="False" Opacity="1" /> <Style x:Key="ButtonEnabledStyle" TargetType="Button"> <Style.Triggers> <Trigger Property="IsEnabl
按钮及其样式:
<Button Name="MyBtn" Style="{StaticResource ButtonEnabledStyle}"
IsEnabled="False" Opacity="1" />
<Style x:Key="ButtonEnabledStyle" TargetType="Button">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True" >
<Setter Property="Opacity" Value="0.1" />
</Trigger>
</Style.Triggers>
</Style>
但是当我启用按钮(MyBtn.IsEnabled=true
)时,它不会改变其不透明度。为什么?我怎样才能解决这个问题?谢谢。元素上设置的本地值(Opacity=“1”
)将始终优先于样式或样式触发器值。请看一看
一个简单的修复方法是在样式上设置默认值:
<Style x:Key="ButtonEnabledStyle" TargetType="Button">
<Setter Property="Opacity" Value="1.0" />
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True" >
<Setter Property="Opacity" Value="0.1" />
</Trigger>
</Style.Triggers>
</Style>
您在哪一点调用MyBtn.IsEnabled=true?可能在样式初始化之前?@Vale否,当我点击另一个按钮时,我会调用,控件已经加载。