在对我的用户控件应用“Control-Disabled-Style”时遇到一些问题后,我偶然发现了另一个问题。
如您所见,IsEnabled == true
和IsEnabled == false
有两个预定义的渐变。
现在,如果禁用我的usercontrol,将不会应用禁用状态的渐变。我不知道为什么但没有任何反应。控件看起来就像启用它一样。
我创建了一些其他的UserControls,如果禁用它们就让它们改变颜色 - 它起作用了。
我找不到任何错误,也许你可以帮助我?
来源:
<UserControl.Resources>
<LinearGradientBrush x:Key="NormalStateGradient" EndPoint="1.197,0.542" StartPoint="0.037,0.542">
<GradientStop Color="#FF4D4D4D" Offset="0.741"/>
<GradientStop Color="#29000000" Offset="1"/>
</LinearGradientBrush>
<LinearGradientBrush x:Key="DisabledStateGradient" EndPoint="1.197,0.542" StartPoint="0.037,0.542">
<GradientStop Color="#FFFF0000" Offset="0.741"/>
<GradientStop Color="#29000000" Offset="1"/>
</LinearGradientBrush>
<Style x:Key="ButtonEnableStates" TargetType="{x:Type Grid}">
<Style.Triggers>
<Trigger Property="IsEnabled" Value="True">
<Setter Property="Background" Value="{DynamicResource NormalStateGradient}" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Background" Value="{DynamicResource DisabledStateGradient}"/>
</Trigger>
</Style.Triggers>
</Style>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Style="{DynamicResource ButtonEnableStates}" />