Quelle est la meilleure façon d'arrêter et de redémarrer un storyboard à partir du code .net?Redémarrage d'un storyboard WPF
J'essaie ...
myStory.Stop(this);
attendant qu'un appel ultérieur à .begin (ce); redémarrerait à partir de la timeline à zéro, mais à la place, le storyboard reprend là où il a été arrêté.
J'ai essayé
.Remove(this);
et j'ai essayé
.Seek(TimeSpan.Zero);
qui a également ne fonctionne pas.
Plus de détails ... Voici mon exemple de storyboard.
<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>
Ainsi, le texte dans le TextOne court, et si vous fermez l'écran, et revenir à l'écran rapidement, le texttwo, joue en fait sur un story-board récemment commencé. Donc, le storyboard original (à partir du premier écran) est toujours là et en cours de lecture, même si j'ai été supprimé, et arrêté.
peut-être que c'est ma configuration. Voici un peu plus d'infos. J'ai un baseclass avec une propriété storyboard StoryOverlay. Dans le ctor d'une classe enfant, je fais un storyOverlay = TryFindResource ("storyId") comme Storyboard; puis plus tard, je vérifie si storyOVerlay! = Null; {storyOverlay.Remove (this); } Est-ce que cela change quelque chose? – ScottCate