다음을 통해 공유


MatrixAnimationBase 클래스

정의

구현된 경우 Matrix 값에 애니메이션 효과를 주는 추상 클래스입니다.

public ref class MatrixAnimationBase abstract : System::Windows::Media::Animation::AnimationTimeline
public abstract class MatrixAnimationBase : System.Windows.Media.Animation.AnimationTimeline
type MatrixAnimationBase = class
    inherit AnimationTimeline
Public MustInherit Class MatrixAnimationBase
Inherits AnimationTimeline
상속
파생

예제

다음 코드 예제에서는 XAML(Extensible Application Markup Language)에서 파생 MatrixAnimationUsingKeyFrames 클래스를 사용하는 방법을 보여 줍니다.

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
  x:Class="Microsoft.Samples.KeyFrameAnimations.MatrixAnimationUsingKeyFramesExample"
  WindowTitle="MatrixAnimationUsingPath Example">

  <StackPanel Margin="20">
    <Canvas HorizontalAlignment="Left" Width="340" Height="240" >

      <!-- The Button that is animated. -->
      <Button Margin="-30,0,0,0" MinWidth="100">
        Click
        <Button.RenderTransform>
          <MatrixTransform x:Name="myMatrixTransform">
            <MatrixTransform.Matrix >
              <Matrix OffsetX="10" OffsetY="100"/>
            </MatrixTransform.Matrix>
          </MatrixTransform>
        </Button.RenderTransform>
        <Button.Triggers>
          <EventTrigger RoutedEvent="Button.Loaded">
            <BeginStoryboard>
              <Storyboard>

                <!-- Animates the button's MatrixTransform using MatrixAnimationUsingKeyFrames. 
                Animates to first Matrix in the first 0.2 seconds, to second Matrix in the next
                second, and then starts over. Notice that the first KeyFrame stretches the button
                and skews it using the M11 and M12 Matrix properties respectively. Also, animations are 
                using Discrete interpolation, so the MatrixTransform appears to "jump" from one value 
                to the next. -->
                <MatrixAnimationUsingKeyFrames
                Storyboard.TargetName="myMatrixTransform"
                Storyboard.TargetProperty="Matrix"
                Duration="0:0:3" 
                RepeatBehavior="Forever">
                  <DiscreteMatrixKeyFrame KeyTime="0:0:0.2">
                    <DiscreteMatrixKeyFrame.Value>
                      <Matrix OffsetX="100" OffsetY="200" M11="3" M12="1" />
                    </DiscreteMatrixKeyFrame.Value>
                  </DiscreteMatrixKeyFrame>
                  <DiscreteMatrixKeyFrame KeyTime="0:0:1">
                    <DiscreteMatrixKeyFrame.Value>
                      <Matrix OffsetX="300" OffsetY="100" M11="1" M12="0" />
                    </DiscreteMatrixKeyFrame.Value>
                  </DiscreteMatrixKeyFrame>
                </MatrixAnimationUsingKeyFrames>
              </Storyboard>
            </BeginStoryboard>
          </EventTrigger>

        </Button.Triggers>
      </Button>

    </Canvas>
  </StackPanel>
</Page>

구현자 참고

참조 된 사용자 지정 애니메이션 개요 애니메이션 클래스 확장에 대 한 정보에 대 한 합니다.

생성자

MatrixAnimationBase()

MatrixAnimationBase 클래스의 새 인스턴스를 초기화합니다.

속성

AccelerationRatio

시간의 경과를 최대 0에서 속도로 가속하는 데 사용한 타임라인의 Duration 백분율을 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
AutoReverse

타임라인이 앞으로 반복을 완료한 후 반대 방향으로 재생되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
BeginTime

Timeline이 시작되어야 하는 시간을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
CanFreeze

개체를 수정 불가능으로 설정할 수 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Freezable)
DecelerationRatio

시간의 경과를 최대 속도에서 0으로 감속하는 데 사용한 타임라인의 Duration 백분율을 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
DependencyObjectType

DependencyObjectType 이 instance CLR 형식을 래핑하는 을 가져옵니다.

(다음에서 상속됨 DependencyObject)
Dispatcher

Dispatcher와 연결된 DispatcherObject를 가져옵니다.

(다음에서 상속됨 DispatcherObject)
Duration

반복을 제외하고 이 Timeline이 재생되는 시간을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
FillBehavior

Timeline 이 해당 활성 기간의 끝에 도달한 후 동작하는 방식을 지정하는 값을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
HasAnimatedProperties

하나 이상의 AnimationClock 개체가 이 개체의 종속성 속성과 연결되어 있는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Animatable)
IsDestinationDefault

이 애니메이션에서 defaultDestinationValue 메서드의 GetCurrentValue(Object, Object, AnimationClock) 매개 변수를 해당 대상 값으로 사용하는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 AnimationTimeline)
IsFrozen

개체가 현재 수정 가능한지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 Freezable)
IsSealed

이 인스턴스가 현재 봉인되어 있는지(읽기 전용인지) 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 DependencyObject)
Name

Timeline의 이름을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
RepeatBehavior

이 타임라인의 반복 동작을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
SpeedRatio

Timeline에 대한 진행 속도로 부모에 상대적인 비율을 가져오거나 설정합니다.

(다음에서 상속됨 Timeline)
TargetPropertyType

이 애니메이션이 생성하는 값의 형식을 가져옵니다.

메서드

AllocateClock()

Clock에 대한 AnimationTimeline을 만듭니다.

(다음에서 상속됨 AnimationTimeline)
ApplyAnimationClock(DependencyProperty, AnimationClock)

지정된 DependencyPropertyAnimationClock을 적용합니다. 속성에 이미 애니메이션 효과가 적용되어 있으면 SnapshotAndReplace 전달 동작이 사용됩니다.

(다음에서 상속됨 Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

지정된 DependencyPropertyAnimationClock을 적용합니다. 속성에 이미 애니메이션이 적용되어 있으면 지정된 HandoffBehavior가 사용됩니다.

(다음에서 상속됨 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

지정된 DependencyProperty에 애니메이션을 적용합니다. 애니메이션은 다음 프레임을 렌더링할 때 시작됩니다. 지정된 속성에 이미 애니메이션 효과가 적용되어 있으면 SnapshotAndReplace 전달 동작이 사용됩니다.

(다음에서 상속됨 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

지정된 DependencyProperty에 애니메이션을 적용합니다. 애니메이션은 다음 프레임을 렌더링할 때 시작됩니다. 지정된 속성에 이미 애니메이션이 적용되어 있으면 지정된 HandoffBehavior가 사용됩니다.

(다음에서 상속됨 Animatable)
CheckAccess()

호출 스레드가 이 DispatcherObject에 액세스할 수 있는지 여부를 확인합니다.

(다음에서 상속됨 DispatcherObject)
ClearValue(DependencyProperty)

속성의 로컬 값을 지웁니다. 지울 속성이 DependencyProperty 식별자에서 지정됩니다.

(다음에서 상속됨 DependencyObject)
ClearValue(DependencyPropertyKey)

읽기 전용 속성의 로컬 값을 지웁니다. 선언할 속성이 DependencyPropertyKey에서 지정됩니다.

(다음에서 상속됨 DependencyObject)
Clone()

이 개체 값의 전체 복사본을 만들어 이 MatrixAnimationBase의 수정 가능한 복제본을 만듭니다. 종속성 속성을 복사하는 경우 이 메서드는 더 이상 확인되지 않을 수도 있는 리소스 참조와 데이터 바인딩을 복사하지만 애니메이션이나 애니메이션의 현재 값은 복사하지 않습니다.

CloneCore(Freezable)

기본(애니메이션이 적용되지 않은) 속성 값을 사용하여 인스턴스를 지정된 Freezable의 복제본(전체 복사본)으로 만듭니다.

(다음에서 상속됨 Freezable)
CloneCurrentValue()

Timeline 개체의 현재 값에 대한 전체 복사본을 만들어 이 개체의 수정 가능한 복제본을 만듭니다.

(다음에서 상속됨 Timeline)
CloneCurrentValueCore(Freezable)

현재 속성 값을 사용하여 이 인스턴스를 지정된 Freezable의 수정 가능한 클론(전체 복사본)으로 만듭니다.

(다음에서 상속됨 Freezable)
CoerceValue(DependencyProperty)

지정된 종속성 속성의 값을 강제 변환합니다. 호출하는 DependencyObject에 있으므로 이 작업은 종속성 속성의 속성 메타데이터에 지정된 CoerceValueCallback 함수를 호출하여 수행합니다.

(다음에서 상속됨 DependencyObject)
CreateClock()

AnimationClock 에서 새 AnimationTimeline을 만듭니다.

(다음에서 상속됨 AnimationTimeline)
CreateClock(Boolean)

Clock에서 새 Timeline을 만들고 새 Clock을 제어할 수 있는지 여부를 지정합니다. 이 Timeline 에 자식이 있는 경우 이 Timeline 을 루트로 사용하여 클록 트리를 만듭니다.

(다음에서 상속됨 Timeline)
CreateInstance()

Freezable 클래스의 새 인스턴스를 초기화합니다.

(다음에서 상속됨 Freezable)
CreateInstanceCore()

파생 클래스에서 구현되는 경우 Freezable 파생 클래스의 새 인스턴스를 만듭니다.

(다음에서 상속됨 Freezable)
Equals(Object)

제공된 DependencyObject가 현재 DependencyObject에 해당하는지 여부를 확인합니다.

(다음에서 상속됨 DependencyObject)
Freeze()

현재 개체를 수정할 수 없게 설정하고 해당 IsFrozen 속성을 true로 설정합니다.

(다음에서 상속됨 Freezable)
FreezeCore(Boolean)

Timeline을 수정할 수 없게 만들거나, 수정할 수 없게 만들 수 있는지 여부를 결정합니다.

(다음에서 상속됨 Timeline)
GetAnimationBaseValue(DependencyProperty)

지정된 DependencyProperty의 애니메이션이 적용되지 않은 값을 반환합니다.

(다음에서 상속됨 Animatable)
GetAsFrozen()

애니메이션이 적용되지 않은 기준 속성 값을 사용하여 Freezable의 고정된 복사본을 만듭니다. 복사본이 고정되므로 고정된 하위 개체는 모두 참조를 통해 복사됩니다.

(다음에서 상속됨 Freezable)
GetAsFrozenCore(Freezable)

이 인스턴스는 지정된 Timeline 개체의 복제본으로 만듭니다.

(다음에서 상속됨 Timeline)
GetCurrentValue(Matrix, Matrix, AnimationClock)

애니메이션의 현재 값을 가져옵니다.

GetCurrentValue(Object, Object, AnimationClock)

애니메이션의 현재 값을 가져옵니다.

GetCurrentValueAsFrozen()

현재 속성 값을 사용하여 Freezable의 고정된 복사본을 만듭니다. 복사본이 고정되므로 고정된 하위 개체는 모두 참조를 통해 복사됩니다.

(다음에서 상속됨 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

이 인스턴스를 지정된 Timeline의 고정 복제본으로 만듭니다. 리소스 참조, 데이터 바인딩 및 애니메이션은 복사되지 않지만 이러한 요소의 현재 값은 복사됩니다.

(다음에서 상속됨 Timeline)
GetCurrentValueCore(Matrix, Matrix, AnimationClock)

파생 클래스에서 구현되는 경우 애니메이션의 현재 값을 계산합니다.

GetHashCode()

DependencyObject의 해시 코드를 가져옵니다.

(다음에서 상속됨 DependencyObject)
GetLocalValueEnumerator()

DependencyObject에 대해 로컬로 값을 설정한 종속성 속성을 확인하기 위한 특수 열거자를 만듭니다.

(다음에서 상속됨 DependencyObject)
GetNaturalDuration(Clock)

Timeline의 단일 반복 길이를 반환합니다.

(다음에서 상속됨 Timeline)
GetNaturalDurationCore(Clock)

AnimationTimeline의 단일 반복 길이를 반환합니다.

(다음에서 상속됨 AnimationTimeline)
GetType()

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
GetValue(DependencyProperty)

DependencyObject의 인스턴스에서 종속성 속성의 현재 유효 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
InvalidateProperty(DependencyProperty)

지정된 종속성 속성의 유효 값을 다시 계산합니다.

(다음에서 상속됨 DependencyObject)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
OnChanged()

현재 Freezable 개체가 수정될 때 호출됩니다.

(다음에서 상속됨 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

방금 설정된 DependencyObjectType 데이터 멤버에 대한 적절한 컨텍스트 포인터를 설정합니다.

(다음에서 상속됨 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

이 멤버는 WPF(Windows Presentation Foundation) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 구현을 재정의하여 Freezable 형식의 변화하는 종속성 속성에 대한 응답으로 Changed 처리기도 호출합니다.

(다음에서 상속됨 Freezable)
ReadLocalValue(DependencyProperty)

종속성 속성의 로컬 값을 반환합니다(있는 경우).

(다음에서 상속됨 DependencyObject)
ReadPreamble()

유효한 스레드에서 Freezable에 액세스하고 있는지 확인합니다. Freezable 상속자는 종속성 속성이 아닌 데이터 멤버를 읽는 API의 시작 부분에서 이 메서드를 호출해야 합니다.

(다음에서 상속됨 Freezable)
SetCurrentValue(DependencyProperty, Object)

해당 값 소스를 변경하지 않고 종속성 속성의 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

지정된 종속성 속성 식별자를 가진 종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
SetValue(DependencyPropertyKey, Object)

종속성 속성의 DependencyPropertyKey 식별자에 의해 지정된 읽기 전용 종속성 속성의 로컬 값을 설정합니다.

(다음에서 상속됨 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

serialization 프로세스에서 지정된 종속성 속성의 값을 직렬화해야 하는지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 DependencyObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
VerifyAccess()

호출 스레드에서 이 DispatcherObject에 액세스할 수 있는지 확인합니다.

(다음에서 상속됨 DispatcherObject)
WritePostscript()

Changed 에 대한 Freezable 이벤트를 발생시키고 해당 OnChanged() 메서드를 호출합니다. Freezable에서 파생된 클래스는 종속성 속성으로 저장되지 않은 클래스 멤버를 수정하는 모든 API의 끝에서 이 메서드를 호출해야 합니다.

(다음에서 상속됨 Freezable)
WritePreamble()

Freezable이 고정되어 있지 않고 유효한 스레드 컨텍스트에서 액세스되고 있는지 확인합니다. Freezable 상속자는 종속성 속성이 아닌 데이터 멤버에 쓰는 API의 시작 부분에서 이 메서드를 호출해야 합니다.

(다음에서 상속됨 Freezable)

이벤트

Changed

Freezable 또는 여기에 들어 있는 개체가 수정될 때 발생합니다.

(다음에서 상속됨 Freezable)
Completed

이 Timeline의 재생이 완전히 끝날 때 발생하며, Timeline이 더 이상 활성 기간으로 들어가지 않습니다.

(다음에서 상속됨 Timeline)
CurrentGlobalSpeedInvalidated

Timeline Clock의 진행 속도가 변경될 때 발생됩니다.

(다음에서 상속됨 Timeline)
CurrentStateInvalidated

타임라인의 ClockCurrentState 속성이 업데이트될 때 발생합니다.

(다음에서 상속됨 Timeline)
CurrentTimeInvalidated

타임라인의 ClockCurrentTime 속성이 업데이트될 때 발생합니다.

(다음에서 상속됨 Timeline)
RemoveRequested

이 Timeline 또는 부모 Timeline 중 하나에서 작성된 Clock이 제거될 때 발생합니다.

(다음에서 상속됨 Timeline)

적용 대상

추가 정보