Button IsEnabled Trigger does not work
11,129
A local value set on the element (Opacity="1"
in your code) will always take precedence over a style or style trigger value. Please have a look at Dependency Property Setting Precedence List.
An easy fix is to set the default value on the style instead:
<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>
Author by
Nick
Updated on June 15, 2022Comments
-
Nick almost 2 years
I have a
Button
and its Style:<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>
But when I enable the Button (
MyBtn.IsEnabled = true
) it does not change its Opacity. Why? How can I solve this problem? Thanks.