2011-02-14 45 views

回答

3

這裏有一個粗略的方法,我只是寫在任何形式的UIElement褪色:

public static void FadeIn(UIElement element, int xOffset, TimeSpan duration) 
    { 
     Transform tempTrans = element.RenderTransform; 
     TranslateTransform trans = new TranslateTransform(xOffset, 0); 
     TransformGroup group = new TransformGroup(); 
     if (tempTrans != null) group.Children.Add(tempTrans); 
     group.Children.Add(trans); 

     DoubleAnimation animTranslate = new DoubleAnimation(0, (Duration)duration); 
     animTranslate.EasingFunction = new CubicEase() { EasingMode = EasingMode.EaseOut }; 
     DoubleAnimation animFadeIn = new DoubleAnimation(0, 1, (Duration)duration) { FillBehavior = FillBehavior.Stop }; 
     animTranslate.Completed += delegate 
     { 
      element.RenderTransform = tempTrans; 
     }; 

     element.RenderTransform = trans; 
     element.BeginAnimation(UIElement.OpacityProperty, animFadeIn); 
     trans.BeginAnimation(TranslateTransform.XProperty, animTranslate); 
    } 

如果某些運作都不清楚隨意問。

+0

嘿,謝謝你的幫助。你能告訴我爲什麼你使用EasingFunction(特別是爲什麼CubicEase)? – neebz 2011-02-17 19:04:00

相關問題