//DoubleAnimationUsingKeyFrames kf = new EasingDoubleKeyFrame(); kf.EasingFunction = new CircleEase() { EasingMode = System.Windows.Media.Animation.EasingMode.EaseInOut }; //DoubleAnimation DoubleAnimation daTarget = new DoubleAnimation(); daTarget.EasingFunction = new CircleEase() { EasingMode = System.Windows.Media.Animation.EasingMode.EaseOut };
/// <summary> /// 에니메이션을 세팅한다. /// </summary> private void SetAni(object objObj, double dData) { FrameworkElement feObj = (FrameworkElement)objObj; EasingDoubleKeyFrame kf = null; DoubleAnimationUsingKeyFrames daX = null; DoubleAnimationUsingKeyFrames daY = null; daX = new DoubleAnimationUsingKeyFrames(); daY = new DoubleAnimationUsingKeyFrames(); Storyboard.SetTarget(daX, feObj); Storyboard.SetTargetProperty(daX, new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.TranslateX)")); m_sbReturn.Children.Add(daX); Storyboard.SetTarget(daY, feObj); Storyboard.SetTargetProperty(daY, new PropertyPath("(UIElement.RenderTransform).(CompositeTransform.TranslateY)")); m_sbReturn.Children.Add(daY); kf = new EasingDoubleKeyFrame(); //가속/감속 kf.EasingFunction = new CircleEase() { EasingMode = System.Windows.Media.Animation.EasingMode.EaseInOut }; kf.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromSeconds(0.5)); kf.Value = 300; daX.BeginTime = TimeSpan.FromSeconds(dData); daX.KeyFrames.Add(kf); kf = new EasingDoubleKeyFrame(); //가속/감속 kf.EasingFunction = new CircleEase() { EasingMode = System.Windows.Media.Animation.EasingMode.EaseInOut }; kf.KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromSeconds(0.5)); kf.Value = 300; daY.BeginTime = TimeSpan.FromSeconds(dData); daY.KeyFrames.Add(kf); this.m_sbReturn.Completed += new EventHandler(m_sbReturn_Completed); }