Я использую анимацию для изменения цвета фона и переднего плана элемента управления при каждом изменении его значения; он работает нормально, за исключением элементов управления, которые отключены. Вот анимация, которую я использую
<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.
Как я могу заставить эту анимацию работать для отключенных элементов управления?