Я пытаюсь анимировать цвет границы объекта, используя смесь Expression.
Всякий раз, когда я изменяю значение границы в раскадровке на значение ресурса кисти, который я создал ранее, вместо него изменяется базовая граница объекта.быть анимированнымЕсли я изменю значение свойства на базовое значение (т. Е. Я не использую ресурс кисти), анимация будет работать так, как задумано.
Разве мы не можем анимировать свойства цвета, используя ресурсы кисти?
Вот код, сгенерированный Expression Blend, когда используется жестко закодированное значение цвета для границы (этот код работает, анимация воспроизводится правильно, но значение границы жестко закодировано):
<Style x:Key="StandardTextBoxStyle" BasedOn="{x:Null}" TargetType="{x:Type TextBox}">
(...)
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBox}">
<Grid x:Name="grid">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
(...)
</VisualStateGroup>
<VisualStateGroup x:Name="FocusStates">
<VisualStateGroup.Transitions>
<VisualTransition GeneratedDuration="0" To="Focused">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(Shape.Stroke).(SolidColorBrush.Color)" Storyboard.TargetName="rectangle">
<EasingColorKeyFrame KeyTime="0" Value="#FFC2C2C2"/>
<EasingColorKeyFrame KeyTime="0:0:0.2" Value="#FF5FA5C9"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualTransition>
</VisualStateGroup.Transitions>
<VisualState x:Name="Unfocused"/>
<VisualState x:Name="Focused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
(...)
</Style>
Как заменить жестко закодированное значение # FF5FA5C9 значением локального ресурса кисти?Стоит ли просто заменить инструкцию Value = "# FF5FA5C9" на инструкцию DynamicResource / StaticResource?