ExpressionBlendを使用してオブジェクトの境界線の色をアニメーション化しようとしています。
ストーリーボード内の境界線の値を以前に作成したブラシリソースの値に変更すると、オブジェクトのベース境界線がアニメーション化されるのではなく変更されます。プロパティの値を基本値の値に変更すると(つまり、ブラシリソースを使用しない場合)、アニメーションは意図したとおりに機能します。
ブラシリソースを使用してカラープロパティをアニメーション化することはできませんか?
境界線にハードコードされたカラー値を使用するときにExpressionBlendによって生成されるコードは次のとおりです(このコードは機能し、アニメーションは正しく再生されますが、境界線の値はハードコードされています)。
<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ステートメントに置き換える必要がありますか?