每当控件的值更改时,我正在使用动画来更改控件的背景和前景色;除了禁用的控件外,它工作正常。这是我正在使用的动画
<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 属性启用或禁用。
如何使此动画适用于禁用的控件?