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>
どのようにすることができます:ここで
はボーダーのためのハードコードされた色の値を使用するときにExpression Blendのによって生成されたコード(このコードは動作しますが、アニメーションが適切に果たしているが、国境の値がハードコードされて)がありますハードコードされた値#FF5FA5C9をローカルブラシリソースの値に置き換えますか? Value = "#FF5FA5C9"ステートメントをDynamicResource/StaticResourceステートメントに置き換えるだけでいいですか?
いくつかのコードを共有できますか? – Divya