2012-02-08 10 views
8

Czy jest jakieś zdarzenie uruchamiane po zakończeniu animacji WPF?Czy jest jakieś zdarzenie, które zostanie wywołane po zakończeniu animacji WPF?

void HideDefaultScreenImageTimer_Tick(object sender, EventArgs e) 
{ 
    HideDefaultScreenImageTimer.Stop(); 

    var doubleAnimation = new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(0.45))); 
    DefaultScreenImage.BeginAnimation(UIElement.OpacityProperty, doubleAnimation); 
    // I need some event when an animation ENDS and within that event I want to remove 
    // Image (DefaultScreenImage) from Canvas. 
    MainCanvas.Children.Remove(DefaultScreenImage); 
} 

Odpowiedz

16

Tak, istnieje.

the Completed Event (MSDN)


Więc twój kod staje:

void HideDefaultScreenImageTimer_Tick(object sender, EventArgs e) 
{ 
    HideDefaultScreenImageTimer.Stop(); 

    var doubleAnimation = new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(0.45))); 
    doubleAnimation.Completed += (sender, eArgs) => MainCanvas.Children.Remove(DefaultScreenImage); 

    DefaultScreenImage.BeginAnimation(UIElement.OpacityProperty, doubleAnimation); 

} 
Powiązane problemy