SplinePointKeyFrame 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
public ref class SplinePointKeyFrame sealed : PointKeyFrame
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class SplinePointKeyFrame final : PointKeyFrame
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class SplinePointKeyFrame final : PointKeyFrame
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class SplinePointKeyFrame : PointKeyFrame
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class SplinePointKeyFrame : PointKeyFrame
Public NotInheritable Class SplinePointKeyFrame
Inherits PointKeyFrame
<SplinePointKeyFrame .../>
- 상속
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10240.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)
|
예제
이 XAML 예제에서는 삼각형 경로를 따라 타원을 이동합니다. 이 예제에서는 PointAnimationUsingKeyFrames 클래스를 사용하여 EllipseGeometry의 Center 속성에 애니메이션 효과를 줍니다. 이 애니메이션은 다음과 같은 방식으로 세 가지 키 프레임을 사용합니다.
- 전반초 동안 LinearPointKeyFrame 클래스의 instance 사용하여 시작 위치에서 일정한 속도로 경로를 따라 타원을 이동합니다. LinearPointKeyFrame과 같은 선형 키 프레임은 값 간에 부드러운 선형 보간을 만듭니다.
- 다음 반초가 끝날 때 DiscretePointKeyFrame 클래스의 instance 사용하여 경로를 따라 타원을 다음 위치로 갑자기 이동합니다. DiscretePointKeyFrame과 같은 불연속 키 프레임은 값 간에 갑작스런 점프를 만듭니다.
- 마지막 2초 동안 SplinePointKeyFrame 클래스의 instance 사용하여 타원을 다시 시작 위치로 이동합니다. SplinePointKeyFrame과 같은 스플라인 키 프레임은 KeySpline 속성의 값에 따라 값 간에 변수 전환을 만듭니다. 이 예제에서 애니메이션은 느리게 시작하다가 시간 세그먼트의 끝에 다가가면 기하급수적으로 빨라집니다.
<Canvas Width="400" Height="300">
<Canvas.Resources>
<Storyboard x:Name="myStoryboard">
<!-- Animating the Center property uses 3 KeyFrames, which animate
the ellipse allong a triangular path. -->
<PointAnimationUsingKeyFrames
Storyboard.TargetProperty="Center"
Storyboard.TargetName="MyAnimatedEllipseGeometry"
Duration="0:0:5" RepeatBehavior="Forever" EnableDependentAnimation="True">
<!-- Over the first half second, Using a LinearPointKeyFrame, the ellipse
moves steadily from its starting position along the first line of the
trianglar path. -->
<LinearPointKeyFrame KeyTime="0:0:0.5" Value="100,300" />
<!-- Using a DiscretePointKeyFrame, the ellipse suddenly changes position
after the first second of the animation. -->
<DiscretePointKeyFrame KeyTime="0:0:1" Value="400,300" />
<!-- Using a SplinePointKeyFrame, the ellipse moves back to its starting
position. It moves slowly at first and then speeds up. This key frame
takes 2 seconds to complete. -->
<SplinePointKeyFrame KeySpline="0.6,0.0 0.9,0.00"
KeyTime="0:0:3" Value="200,100" />
</PointAnimationUsingKeyFrames>
</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();
}
' Start the animation when the object loads
Private Sub Start_Animation(ByVal sender As Object, ByVal e As EventArgs)
myStoryboard.Begin()
End Sub
설명
키 프레임 애니메이션은 애니메이션 타임라인을 따라 특정 지점에서 도달하는 둘 이상의 대상 값을 허용합니다. 즉, 각 키 프레임은 다른 중간 값을 지정할 수 있으며 마지막으로 도달한 키 프레임은 최종 애니메이션 값입니다. 애니메이션 효과를 주는 여러 값을 지정함으로써 더 복잡한 애니메이션을 만들 수 있습니다. 동일한 키 프레임 컬렉션에서 불연속, 선형 및 스플라인 키 프레임을 혼합할 수 있습니다.
키 프레임 애니메이션을 사용하는 방법에 대한 자세한 내용은 키 프레임 애니메이션 및 감속/가속 함수 애니메이션을 참조하세요.
생성자
SplinePointKeyFrame() |
SplinePointKeyFrame 클래스의 새 instance 초기화합니다. |
속성
Dispatcher |
이 개체가 연결된 CoreDispatcher 를 가져옵니다. CoreDispatcher는 코드가 비 UI 스레드에서 시작된 경우에도 UI 스레드에서 DependencyObject에 액세스할 수 있는 기능을 나타냅니다. (다음에서 상속됨 DependencyObject) |
KeySpline |
이 키 프레임에 대한 애니메이션 진행률을 정의하는 두 개의 제어점을 가져오거나 설정합니다. |
KeySplineProperty |
KeySpline 종속성 속성을 식별합니다. |
KeyTime |
키 프레임의 대상 값 에 도달해야 하는 시간을 가져오거나 설정합니다. (다음에서 상속됨 PointKeyFrame) |
Value |
키 프레임의 대상 값을 가져오거나 설정합니다. (다음에서 상속됨 PointKeyFrame) |
메서드
ClearValue(DependencyProperty) |
종속성 속성의 로컬 값을 지웁니다. (다음에서 상속됨 DependencyObject) |
GetAnimationBaseValue(DependencyProperty) |
애니메이션이 활성화되지 않은 경우 적용되는 종속성 속성에 대해 설정된 모든 기본 값을 반환합니다. (다음에서 상속됨 DependencyObject) |
GetValue(DependencyProperty) |
DependencyObject에서 종속성 속성의 현재 유효 값을 반환합니다. (다음에서 상속됨 DependencyObject) |
ReadLocalValue(DependencyProperty) |
로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다. (다음에서 상속됨 DependencyObject) |
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback) |
이 DependencyObject instance 특정 DependencyProperty의 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다. (다음에서 상속됨 DependencyObject) |
SetValue(DependencyProperty, Object) |
DependencyObject에서 종속성 속성의 로컬 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
UnregisterPropertyChangedCallback(DependencyProperty, Int64) |
RegisterPropertyChangedCallback을 호출하여 이전에 등록된 변경 알림을 취소합니다. (다음에서 상속됨 DependencyObject) |