Как правильно остановить и перезапустить раскадровку из кода .net?
Я пытаюсь ...
myStory.Stop(this);
Ожидается, что последующий вызов .Begin (this); будет перезапущен с временной шкалы с нуля, но вместо этого раскадровка подхватит то место, где оно было остановлено.
Я пытался
.Remove(this);
и я попробовал
.Seek(TimeSpan.Zero);
, который тоже не работал.
Подробнее ... Вот мой пример раскадровки.
<Storyboard x:Key="overlay">
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="textone" Storyboard.TargetProperty="(UIElement.Opacity)">
<SplineDoubleKeyFrame KeyTime="00:00:03.0" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:03.0" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:06.0" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:06.0" Value="0"/>
</DoubleAnimationUsingKeyFrames>
<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="texttwo" Storyboard.TargetProperty="(UIElement.Opacity)">
<SplineDoubleKeyFrame KeyTime="00:00:07.0" Value="0"/>
<SplineDoubleKeyFrame KeyTime="00:00:07.0" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:10.0" Value="1"/>
<SplineDoubleKeyFrame KeyTime="00:00:10.0" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
Таким образом, текст в тексте запускается, и если вы закроете экран и быстро вернетесь к экрану, texttwo фактически будет воспроизводиться поверх только что начатой раскадровки. Таким образом, оригинальная (с первого экрана) раскадровка все еще работает, хотя я удалил ее и остановил.