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 easing 函式套用至 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 是兩個 easing 函式之一,可在標準From/To範圍之外產生值。 (另一個是 BackEase.) 當 easing 函式開始時,值會沿著 From 值旋轉正負數,直到達到最終的正數幅度,也就是 To 值。 Springiness屬性會修改這個震動的正弦字元。 使用 Springiness 為 0 時,震動基本上是正弦,類似于彈簧動作的一般圖表。 使用較大的 Springiness 值時,就像會降低彈簧的動作。
「震動」屬性會宣告函式震動並交叉到實際低於起始From值的次數。
您可以藉由只實驗Springiness、在動畫屬性值案例中以視覺化方式執行您想要的動作,以取得最佳結果。
BounceEase 是類似的 Easing 函式,適用于動畫中的物理模擬。 ElasticEase 的差異在於BounceEase永遠不會超出[從/到] 範圍。 將兩個 easing 函式概念化的另一種方式是 ElasticEase 是您可能用來產生字串擷取動畫效果的功能,而 BounceEase 則是您可能用來顯示線條或平面之球彈跳的內容。
Easing 函式可以套用至From/To/By動畫的EasingFunction屬性,或套用至用於主要畫面格動畫之 Easing變體的主要畫面格類型的EasingFunction屬性。 如需詳細資訊,請參閱 主要畫面格動畫和 Easing 函式動畫。
建構函式
ElasticEase() |
初始化 ElasticEase 類別的新實例。 |
屬性
Dispatcher |
一律會在 |
DispatcherQueue |
|
EasingMode |
取得或設定值,這個值會指定動畫如何進行插補。 (繼承來源 EasingFunctionBase) |
Oscillations |
取得或設定到達動畫目的期間,目標來回滑動的次數。 |
OscillationsProperty |
識別 震動 相依性屬性。 |
Springiness |
取得或設定彈簧的僵硬度。 Springiness 值越小,彈簧就越僵硬,而且每次振動的彈性強度也會更快增加。 |
SpringinessProperty |
識別 Springiness 相依性屬性。 |
方法
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) |