「Control-Disabled-Style」をユーザーコントロールに適用する際に問題が発生した後、別の問題に遭遇しました。
ご覧のとおり、 と には 2 つの定義済みグラデーションがIsEnabled == true
ありIsEnabled == false
ます。ユーザーコントロールを無効にすると、無効状態のグラデーションは適用されません。理由はわかりませんが、何も起こりません。コントロールは、有効になっている場合と同じように見えます。他のいくつかの 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}" />