コントロールの値が変わるたびに、アニメーションを使用してコントロールの背景色と前景色を変更しています。無効になっているコントロールを除いて、正常に機能しています。使用しているアニメーションはこちら
<Storyboard
x:Key="Anim"
AutoReverse="True"
Duration="500"
FillBehavior="Stop">
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Background">
<DiscreteObjectKeyFrame KeyTime="0:0:0.002">
<DiscreteObjectKeyFrame.Value>
<SolidColorBrush Color="Red" />
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground">
<DiscreteObjectKeyFrame KeyTime="0:0:0.002">
<DiscreteObjectKeyFrame.Value>
<SolidColorBrush Color="White" />
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
実行時にこのアニメーションのターゲットを次のように設定しています -
Storyboard anim = this.FindResource("Anim") as Storyboard;
if (anim != null)
{
anim.SetValue(Storyboard.TargetProperty, animationTarget);
}
そして、値が変わるたびに私はそうします
_animation.Begin();
ターゲット コントロールは、TextBox、DropDown、CheckBox などのさまざまなタイプにすることができ、ViewModel プロパティに基づいて有効または無効にすることができることに注意してください。
無効なコントロールに対してこのアニメーションを機能させるにはどうすればよいですか?