Вы можете анимировать линейный градиент от:WPF анимировать линейный градиент
<Storyboard x:Key="Focused" >
<DoubleAnimation Duration="0:0:0.3" Storyboard.TargetProperty=
"BorderBrush.GradientStops[0].Offset" Storyboard.TargetName="Bd"/>
</Storyboard>
Fine до сих пор. Вы можете установить цвет для анимации. Как установить свойство To в значение на ресурс градиента, который у вас уже есть?
Можно ли использовать свойство borderbrush target без смещения? В большинстве случаев мне нужно полностью переключить градиент.
EDIT:
нормально, то, как я могу использовать анимацию цвета, чтобы исчезнуть из одного градиента смещения к другому, где цвет назначения не HARDCODED, но его наступающем из ресурса?
пример:
<!-- @ MouseOver -->
<LinearGradientBrush x:Key="MouseOverBrush" StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#FF656565" Offset="0"/>
<GradientStop Color="#33656565" Offset="1"/>
</LinearGradientBrush>
<Style x:Key="CheckBoxStyle" TargetType="{x:Type CheckBox}">
<Setter Property="Foreground" Value="{StaticResource CheckBoxForeground}"/>
<Setter Property="Background" Value="{StaticResource CheckBoxGradientBrush}"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type CheckBox}">
<Border x:Name="Bd"
Background="{TemplateBinding Background}">
<ContentPresenter
Content="{TemplateBinding Content}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
RecognizesAccessKey="True"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="true">
<Setter TargetName="Bd" Property="Background" Value="{StaticResource MouseOverBrush}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
, если я хочу, чтобы анимировать фон Bd на мыши к mouseoverbrush, как я могу это сделать?