禁用状态的UserControl-Style将不会应用

时间:2012-09-09 09:09:15

标签: c# wpf xaml user-controls

在对我的用户控件应用“Control-Disabled-Style”时遇到一些问题后,我偶然发现了另一个问题。

如您所见,IsEnabled == trueIsEnabled == 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}" />

0 个答案:

没有答案