緩動函數可以通過一系列公式模擬一些物理效果,如實地彈跳或其行為如同在彈簧上一樣。它們一般應用在From/To/By動畫上,可以使得其動畫更加平滑。
var widthAnimation = new DoubleAnimation()
{
From = 0,
To = 320,
Duration = TimeSpan.FromSeconds(1),
EasingFunction = new BackEase()
{
Amplitude = 0.3,
EasingMode = EasingMode.EaseOut,
},
};
button.BeginAnimation(WidthProperty, widthAnimation);
從上面的例子可以看出,可以通過設置EasingFunction屬性來使能緩動函數,通過 EasingMode 控制緩動函數的行為方式,它是一個枚舉,有如下三個選項:
-
EaseIn :動畫起始部分使能緩動函數
-
EaseOut :動畫結束部分使能緩動函數
-
EaseInOut :動畫起始和結束部分都使能緩動函數
內置的緩動函數:
系統內部內置了一系列緩動函數,可以參考下圖選擇所需要的函數。
參考資料:
http://msdn.microsoft.com/zh-cn/library/ee308751(v=vs.110).aspx