Animaciones Dinamicas en SilverLight

Muchas veces por exigencias de lo que estamos haciendo necesitamos crear una animación en tiempo de ejecución y realizarlo es bastante sencillo, aqui teneis un codigo de ejemplo que realiza la animación de un rectangulo

 

public void Create_And_Run_Animation(object sender, EventArgs e)
{
// Crear un rectangulo rojo

Rectangle myRectangle = new Rectangle();
myRectangle.Width = 200;
myRectangle.Height = 200;
Color myColor = Color.FromArgb(255, 255, 0, 0);
SolidColorBrush myBrush = new SolidColorBrush();
myBrush.Color = myColor;
myRectangle.Fill = myBrush;

// añadir el rectangulo
LayoutRoot.Children.Add(myRectangle);

// La duración es de 2 segundos
Duration duration = new Duration(TimeSpan.FromSeconds(0.2));

// Crear Dos Doubleanimation junto a sus propiedades
DoubleAnimation myDoubleAnimation1 = new DoubleAnimation();
DoubleAnimation myDoubleAnimation2 = new DoubleAnimation();

myDoubleAnimation1.Duration = duration;
myDoubleAnimation2.Duration = duration;

Storyboard sb = new Storyboard();
sb.Duration = duration;

sb.Children.Add(myDoubleAnimation1);
sb.Children.Add(myDoubleAnimation2);

Storyboard.SetTarget(myDoubleAnimation1, myRectangle);
Storyboard.SetTarget(myDoubleAnimation2, myRectangle);

// Enviamos las propiedades atachadas Canvas.Left y Canvas.Top
// que seran las target properties de las animaciones
Storyboard.SetTargetProperty(myDoubleAnimation1, "(Canvas.Left)");
Storyboard.SetTargetProperty(myDoubleAnimation2, "(Canvas.Top)");

myDoubleAnimation1.To = 200;
myDoubleAnimation2.To = 200;

// Crear la StoryBoard como un recurso.
LayoutRoot.Resources.Add(sb);

// Lanzar la animacion.
sb.Begin();
}

2 comentarios sobre “Animaciones Dinamicas en SilverLight”

  1. Muy interesante, ahora tengo la siguiente consulta, actualmente tenemos en la empresa una aplicacion desarrollada en adobe flash, que carga aproximadamente 1000 MovieClips, el tema que el consumo de recursos es considerablemente alto, ahora, en Silverligth si creo 1000 animaciones, como maneja el tema del consumo de recursos??
    Gracias!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *