PointAnimation 类

定义

使用指定 Duration 上的线性内插对两个目标值之间的 Point 属性值进行动画处理。

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 对 EllipseGeometryCenter 属性进行动画处理。

// 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 的任何依赖属性的属性值进行动画处理。

的线性内插意味着 XY 值被视为数字,内插只是一个数学运算。

有时,你需要使用间接属性目标,以便以另一个对象的子属性为目标,该对象是目标上某个属性的值。 例如,若要对 PathGeometry 的各个部分进行动画处理,需要引用一些中间对象属性值,直到间接属性路径中的最后一步真正成为 Point 值。 有关间接属性目标和其他情节提要动画概念的详细信息,请参阅 情节提要动画属性路径语法

PointAnimation 通常至少设置了 一个 FromByTo 属性,但绝不会设置全部三个属性。

  • 仅从: 动画从 From 属性指定的值发展到要进行动画处理的属性的基值。
  • From 和 To: 动画从 From 属性指定的值前进到 To 属性指定的值。
  • 发件人和依据: 动画从 From 属性指定的值发展到 由 FromBy 属性的总和指定的值。
  • 仅限: 动画从动画属性的基值或上一个动画的输出值发展到 To 属性指定的值。
  • 仅按: 动画从要进行动画处理的属性的基值或上一个动画的输出值到该值的总和以及 By 属性指定的值。

PointAnimation 的 FromByTo 属性不是 Point 值。 相反,对于 Point,这些是可以为 Null 的。 这些的默认值为 null,而不是未初始化的结构。 该 null 值是动画系统区分你尚未专门设置值的方式。 Visual C++ 组件扩展 (C++/CX) 不具有 Nullable 类型,因此它转而使用 IReference

构造函数

PointAnimation()

初始化 PointAnimation 类的新实例。

属性

AutoReverse

获取或设置一个值,该值指示时间线在完成向前迭代后是否按相反的顺序播放。

(继承自 Timeline)
BeginTime

获取或设置此 时间线 应开始的时间。

(继承自 Timeline)
By

获取或设置动画更改其起始值所依据的总数。

ByProperty

标识 By 依赖属性。

Dispatcher

始终在Windows 应用 SDK应用中返回 null 。 请改用 DispatcherQueue

(继承自 DependencyObject)
DispatcherQueue

获取 DispatcherQueue 与此 对象关联的 。 DispatcherQueue表示可以访问 DependencyObject UI 线程上的 的功能,即使代码是由非 UI 线程启动的。

(继承自 DependencyObject)
Duration

获取或设置此时间线播放的时间长度,而不是计数重复。

(继承自 Timeline)
EasingFunction

获取或设置要应用于动画的缓动函数。

EasingFunctionProperty

标识 EasingFunction 依赖属性。

EnableDependentAnimation

获取或设置一个值,该值声明是否应允许被视为依赖动画的动画属性使用此动画声明。

EnableDependentAnimationProperty

标识 EnableDependentAnimation 依赖属性。

FillBehavior

获取或设置一个值,该值指定动画在其活动周期结束时的行为方式。

(继承自 Timeline)
From

获取或设置动画的起始值。

FromProperty

标识 From 依赖属性。

RepeatBehavior

获取或设置此时间线的重复行为。

(继承自 Timeline)
SpeedRatio

获取或设置相对于其父级的速率,此时此 时间线的进度。

(继承自 Timeline)
To

获取或设置动画的结束值。

ToProperty

标识 To 依赖属性。

方法

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)

事件

Completed

Storyboard 对象完成播放时发生。

(继承自 Timeline)

适用于

另请参阅