2011-02-14 49 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

相关问题