ElasticEase 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表一個鬆動函數,產生類似彈簧來回擺動直到停下的動畫。
public ref class ElasticEase sealed : EasingFunctionBase
/// [Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ElasticEase final : EasingFunctionBase
[Windows.Foundation.Metadata.Activatable(65536, "Microsoft.UI.Xaml.WinUIContract")]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ElasticEase : EasingFunctionBase
Public NotInheritable Class ElasticEase
Inherits EasingFunctionBase
<ElasticEase .../>
- 繼承
- 屬性
範例
這個 XAML 範例將 ElasticEase 的鬆動函數應用到 DoubleAnimation ,創造出類似彈簧來回擺動直到停下的動畫。
<StackPanel x:Name="LayoutRoot" >
<StackPanel.Resources>
<Storyboard x:Name="myStoryboard">
<DoubleAnimation From="1" To="6" Duration="00:00:3"
Storyboard.TargetName="rectScaleTransform"
Storyboard.TargetProperty="ScaleY">
<DoubleAnimation.EasingFunction>
<!-- Elastic easing function assigned to From/To animation -->
<ElasticEase x:Name="myElasticEase" Oscillations="3"
Springiness="1" EasingMode="EaseOut"/>
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</StackPanel.Resources>
<Rectangle PointerPressed="Pointer_Clicked"
Fill="Blue" Width="200" Height="30">
<Rectangle.RenderTransform>
<ScaleTransform x:Name="rectScaleTransform" />
</Rectangle.RenderTransform>
</Rectangle>
</StackPanel>
// When the user clicks the rectangle, the animation
// begins.
private void Pointer_Clicked(object sender, PointerRoutedEventArgs e)
{
myStoryboard.Begin();
}
備註
ElasticEase 是兩個能產生超出正常 From/To 範圍值的緩和函數之一。 (另一個是 BackEase。)當鬆弛函數開始時,值會圍繞 From 值正負振盪,直到最終達到正振幅,即 To 值。 彈簧性特性改變了此振盪的正弦波特性。 當 彈簧度 為0時,振盪基本上是正弦波,類似彈簧運動的典型圖示。 彈 簧度 越大,就像抑制彈簧的運動。
振盪特性說明函數振盪的次數,並交叉到實際低於起始 From 值的數值。
你可以嘗試調整 彈簧感、 振盪 和 緩和模式 屬性,直到動畫在視覺上達到你想要的效果,效果可能更好。
BounceEase 是一個類似的減緩功能,非常適合動畫中的物理模擬。 ElasticEase 的差別在於 BounceEase 永遠不會超出 From/To 範圍。 另一種概念化這兩個鬆動函數的方式是,ElasticEase 是用來動畫撥弦的動作,而 BounceEase 則是用來顯示球在線條或平面上的彈跳。
易解函數可以套用到FromTo/By動畫的/EasingFunction屬性,或用於關鍵影格動畫Ease變體的關鍵影格類型的EasingFunction屬性。 更多資訊請參見 關鍵影格動畫與輕鬆功能動畫。
建構函式
| 名稱 | Description |
|---|---|
| ElasticEase() |
初始化 ElasticEase 類別的新實例。 |
屬性
| 名稱 | Description |
|---|---|
| Dispatcher |
它總是在 Windows 應用程式 SDK 應用程式中回傳 |
| DispatcherQueue |
得到 |
| EasingMode |
取得或設定一個值,指定動畫如何插值。 (繼承來源 EasingFunctionBase) |
| Oscillations |
它會取得或設定目標在動畫目的地上來回滑動的次數。 |
| OscillationsProperty |
識別振 盪 依賴性質。 |
| Springiness |
用來調整彈簧的剛性。 彈簧度值越小,彈簧越剛,彈性在每次振盪過程中強度下降的速度越快。 |
| SpringinessProperty |
識別彈 簧依賴 性質。 |
方法
| 名稱 | Description |
|---|---|
| ClearValue(DependencyProperty) |
清除依賴性財產的局部價值。 (繼承來源 DependencyObject) |
| Ease(Double) |
將正規化時間轉換以控制動畫的節奏。 (繼承來源 EasingFunctionBase) |
| GetAnimationBaseValue(DependencyProperty) |
回傳任何為相依屬性建立的基礎值,適用於動畫未啟用時。 (繼承來源 DependencyObject) |
| GetValue(DependencyProperty) |
回傳 DependencyObject 中相依屬性的當前有效值。 (繼承來源 DependencyObject) |
| ReadLocalValue(DependencyProperty) |
若設定了本地值,則回傳依賴性質的局部值。 (繼承來源 DependencyObject) |
| RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
註冊一個通知函式,用於監聽此 DependencyObject 實例中特定 DependencyProperty 的變更。 (繼承來源 DependencyObject) |
| SetValue(DependencyProperty, Object) |
將相依屬性的局部值設定在 DependencyObject 上。 (繼承來源 DependencyObject) |
| UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
取消先前透過呼叫 RegisterPropertyChangedCallback 註冊的變更通知。 (繼承來源 DependencyObject) |