¿Cómo verificaría el estado de un guión gráfico?¿Cómo verificar el estado de un guión gráfico?
Ejemplo:
if (storyboard.Completed += true) // ???
{
}
(Este código hace no trabajo, por razones obvias.)
¿Cómo verificaría el estado de un guión gráfico?¿Cómo verificar el estado de un guión gráfico?
Ejemplo:
if (storyboard.Completed += true) // ???
{
}
(Este código hace no trabajo, por razones obvias.)
Simplemente enganche el evento Completed
y cuando su código se ejecute allí, el guión gráfico se habrá completado. Ver: http://msdn.microsoft.com/en-us/library/system.windows.media.animation.timeline.completed(VS.95).aspx#Y565
¿Cómo usaría esto? (por ejemplo, storyboard.Completed + = Completed;) – JavaAndCSharp
Eso es correcto. Consulte el ejemplo en http://samples.msdn.microsoft.com/Silverlight/SampleBrowser/index.htm#/?sref=change_targetname_2 (haga clic en el botón "Ver código fuente de muestra" y luego en el botón C# que aparece en ese página en la parte superior). –
cómo sobre la creación de una variable booleana (por ejemplo IsCompleted) y configurarlo para cierto en la devolución de llamada Completado ?
if(storyboard.GetCurrentState() == ClockState.Active)
{
// do something
}
Esto no funciona.
Storyboard storyBoardPulse = this.FindResource("StoryboardMainIconPulse") as Storyboard;
Storyboard.SetTarget(storyBoardPulse, this.imageIcon);
if (storyBoardPulse.GetCurrentState() != ClockState.Active)
{
storyBoardPulse.Begin();
}
vuelve este error:
System.InvalidOperationException was unhandled by user code
HResult=-2146233079
Message=Impossible to execute the action. the Storyboard specify not applied to this object for interactive control.
Ao hago una solución muy sangrienta:
private Boolean pulseOn;
private void operationsOfMaintenance_OperationExpired(Boolean state)
{
Storyboard storyBoardPulse = this.FindResource("StoryboardMainIconPulse") as Storyboard;
Storyboard.SetTarget(storyBoardPulse, this.imageIcon);
if (!state)
{
storyBoardPulse.Stop();
storyBoardPulse.Remove();
pulseOn = false;
}
else
{
if(!pulseOn)storyBoardPulse.Begin();
pulseOn = true;
}
}
¡Hay algo extraño por qué el primer ejemplo obtiene un error!
gracias
Marca de retroceso para el código en línea; Nuevo párrafo y sangría de 4 espacios para bloques de código (seleccione bloque de código y presione el botón "{}" en el editor). Feliz SOA. –
Gracias! Siempre me pregunté por qué el editor de código me odiaba ... – JavaAndCSharp
solo quería verificar para ver si el siguiente responde su pregunta. –