語言

PointAnimation 類別

定義

在指定持續時間內,利用線性插值來動畫化兩個目標值間的點屬性值。

public ref class PointAnimation sealed : Timeline
/// [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 PointAnimation final : Timeline
[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 PointAnimation : Timeline
Public NotInheritable Class PointAnimation
Inherits Timeline
<PointAnimation .../>
繼承
Object Platform::Object IInspectable DependencyObject Timeline PointAnimation
屬性

範例

以下範例展示了如何使用 PointAnimation 來動畫橢圓幾何體的中心屬性。

// Start the animation when the object loads
void SampleApp::Page::Start_Animation(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    myStoryboard->Begin();
}
<Canvas Width="450" Height="350">
    <Canvas.Resources>
        <Storyboard x:Name="myStoryboard">

            <!-- Animate the center point of the ellipse from 100 X, 300 Y
             to 400 X, 100 Y over 5 seconds. -->
            <PointAnimation
             Storyboard.TargetProperty="Center"
             Storyboard.TargetName="MyAnimatedEllipseGeometry"
             Duration="0:0:5" 
             From="100,300"
             To="400,100"
             RepeatBehavior="Forever" EnableDependentAnimation="True"/>

        </Storyboard>
    </Canvas.Resources>
    <Path Fill="Blue" Loaded="Start_Animation">
        <Path.Data>

            <!-- Describes an ellipse. -->
            <EllipseGeometry x:Name="MyAnimatedEllipseGeometry"
             Center="200,100" RadiusX="15" RadiusY="15" />
        </Path.Data>
    </Path>
</Canvas>
// Start the animation when the object loads
private void Start_Animation(object sender, RoutedEventArgs e)
{
    myStoryboard.Begin();
}

備註

使用 PointAnimation 來動畫任何類型為 Point 的相依屬性的屬性值。

點的線性插 值表示X 和 Y 的值被視為一個數字,插值僅是數學運算。

有時你需要使用間接屬性目標來鎖定另一個物件的子屬性,該屬性在目標上的屬性值。 例如,要動畫 PathGeometry 的部分,你需要參考一些中間物件屬性值,直到間接屬性路徑的最後一步真正成為 Point 值。 欲了解更多關於間接屬性目標及其他分鏡動畫概念的資訊,請參閱 分鏡動畫 或 屬性路徑語法。

PointAnimation 通常至少設定一個 From、 By 或 To 屬性,但不會同時具備三個屬性。

  • 僅來自: 動畫會從 From 屬性指定的值進展到被動畫屬性的基值。
  • 發件與收件人: 動畫會從 From 屬性指定的值進展到 To 屬性指定的值。
  • 作者與作者: 動畫會從 From 屬性指定的值進展到由 From 屬性與 By 屬性總和所指定的值。
  • 只給: 動畫會從被動畫屬性的基底值或先前動畫的輸出值,逐步推進到 To 屬性指定的值。
  • 僅由: 動畫會從被動畫屬性的基值或先前動畫的輸出值,逐步累積到該值與 By 屬性指定的值之總和。

PointAnimation 的 From、 By 或 To 屬性並不是 點 數值。 相反地,這些是點數的可取消。 這些的預設值為 null,而非未初始化的結構。 這個 空 值就是動畫系統區分你沒有特別設定值的方式。 C++ 沒有 Nullable 型別,所以改用 IReference 。

建構函式

名稱 Description
PointAnimation()

初始化一個新的 PointAnimation 類別實例。

屬性

名稱 Description
AutoReverse

取得或設定一個值,指示時間軸在完成正向迭代後是否會反向播放。

(繼承來源 Timeline)
BeginTime

取得或設定此 時間軸 應開始的時間。

(繼承來源 Timeline)
By

取得或設定動畫起始值變動的總量。

ByProperty

識別「 By 相依性」特性。

Dispatcher

它總是在 Windows 應用程式 SDK 應用程式中回傳 null 。 改用 DispatcherQueue 。

(繼承來源 DependencyObject)
DispatcherQueue

得到 DispatcherQueue 這個物件所關聯的那個。 代表 DispatcherQueue 一個功能,即使程式碼是由非 UI 執行緒發起,也能存取 UI DependencyObject 執行緒。

(繼承來源 DependencyObject)
Duration

取得或設定此時間軸播放的時間長度,不計重複次數。

(繼承來源 Timeline)
EasingFunction

它會取得或設定你套用到動畫上的緩和函數。

EasingFunctionProperty

識別 EasingFunction 依賴性質。

EnableDependentAnimation

取得或設定一個值,宣告是否應允許被視為相依動畫的動畫屬性使用此動畫宣告。

EnableDependentAnimationProperty

識別 EnableDependentAnimation 相依屬性。

FillBehavior

取得或設定一個值,指定動畫在達到有效期間結束後的行為。

(繼承來源 Timeline)
From

取得或設定動畫的起始值。

FromProperty

識別 From 相依屬性。

RepeatBehavior

他會觸發或設定這個時間線重複的行為。

(繼承來源 Timeline)
SpeedRatio

取得或設定相對於父節點的速率,該 時間軸中時間的進展。

(繼承來源 Timeline)
To

取得或設定動畫的結尾值。

ToProperty

識別 To 依存性質。

方法

名稱 Description
ClearValue(DependencyProperty)

清除依賴性財產的局部價值。

(繼承來源 DependencyObject)
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)

事件

名稱 Description
Completed

當 分鏡 物件完成播放時會發生。

(繼承來源 Timeline)

適用於

另請參閱