¿Cuál es la forma correcta de detener y reiniciar un guión gráfico desde el código .net?Reiniciar un guion gráfico WPF
Estoy intentando ...
myStory.Stop(this);
la espera de que una llamada posterior a .Begin (this); se reiniciaría desde la línea de tiempo en cero, pero en su lugar, el guión gráfico se inicia justo donde se detuvo.
He tratado
.Remove(this);
y yo intentado
.Seek(TimeSpan.Zero);
que tampoco funciona.
Más detalles ... Aquí está mi ejemplo del guión gráfico.
<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>
lo tanto, el texto en el TextOne corre, y si se cierra la pantalla y vuelve a la pantalla rápidamente, el texttwo, realmente juega sobre un guión de reciente creación. Entonces, el guión gráfico original (de la primera pantalla) todavía está disponible y sonando, aunque lo haya eliminado, y lo haya detenido.
tal vez es mi configuración. Aquí hay un poco más de información. Tengo una clase base con una propiedad storyboard storyOverlay. En el ctor de una clase para niños, hago un storyOverlay = TryFindResource ("storyId") como Storyboard; luego, estoy comprobando si storyOVerlay! = Null; {storyOverlay.Remove (this); } ¿Eso cambia algo? – ScottCate