Я хочу создать раскадровку из кода позади, я хочу добиться ниже Раскадровка из кода позади,
<Storyboard x:Name="Counter_Animation">
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="txtCounter" Storyboard.TargetProperty="(TextBlock.Text)">
<DiscreteObjectKeyFrame KeyTime="00:00:01" Value="2"/>
<DiscreteObjectKeyFrame KeyTime="00:00:02" Value="1"/>
<DiscreteObjectKeyFrame KeyTime="00:00:03" Value="0"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
На моей странице есть текстовый блок с именем txtCounter, я пытался добиться этого из кода ниже, как показано ниже,
private void CounterAnimation()
{
Storyboard storyboard = new Storyboard();
ObjectAnimationUsingKeyFrames anim = new ObjectAnimationUsingKeyFrames();
anim.BeginTime = TimeSpan.FromSeconds(0);
DiscreteObjectKeyFrame keyFrames = new DiscreteObjectKeyFrame();
keyFrames.KeyTime = TimeSpan.FromSeconds(1);
keyFrames.Value = "2";
keyFrames.KeyTime = TimeSpan.FromSeconds(2);
keyFrames.Value = "1";
keyFrames.KeyTime = TimeSpan.FromSeconds(3);
keyFrames.Value = "0";
anim.KeyFrames.Add(keyFrames);
Storyboard.SetTarget(anim, txtCounter);
Storyboard.SetTargetProperty(anim, "Text");
storyboard.Children.Add(anim);
storyboard.Begin();
}
Code Скомпилируйте и запустите код, проблема в том, что на ключевом времени 1 txtCounter должен показывать 2, на ключевом времени 2 txtCounter должен показывать 1, на ключевом времени 3 txtCounter должен показывать 0 но он прямо показывает мне 0 (ie не показывает промежуточные значения). Пожалуйста, посмотрите и исправьте меня, если я делаю какую-либо ошибку. Это поможет. Спасибо