緩動函數能夠經過一系列公式模擬一些物理效果,如實地彈跳或其行爲如同在彈簧上同樣。它們通常應用在From/To/By動畫上,可使得其動畫更加平滑。html
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);windows
從上面的例子能夠看出,能夠經過設置EasingFunction屬性來使能緩動函數,經過 EasingMode 控制緩動函數的行爲方式,它是一個枚舉,有以下三個選項:函數
-
EaseIn :動畫起始部分使能緩動函數
-
EaseOut :動畫結束部分使能緩動函數
-
EaseInOut :動畫起始和結束部分都使能緩動函數
內置的緩動函數:post
系統內部內置了一系列緩動函數,能夠參考下圖選擇所須要的函數。動畫
BackEaseui
BounceEaseurl
CubicEasehtm
ElasticEaseblog
參考資料:
http://msdn.microsoft.com/zh-cn/library/ee308751(v=vs.110).aspx