HandoffBehavior 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
새 애니메이션이 속성에 이미 적용된 기존 애니메이션과 상호 작용하는 방법을 지정합니다.
public enum class HandoffBehavior
public enum HandoffBehavior
type HandoffBehavior =
Public Enum HandoffBehavior
- 상속
필드
| Name | 값 | Description |
|---|---|---|
| SnapshotAndReplace | 0 | 새 애니메이션은 적용된 속성의 기존 애니메이션을 대체합니다. |
| Compose | 1 | 새 애니메이션은 컴퍼지션 체인의 끝에 새 애니메이션을 추가하여 기존 애니메이션과 결합됩니다. |
설명
Compose를 StoryboardAnimationTimeline사용하여 속성에 적용하는 AnimationClock 경우 이전에 해당 속성과 연결된 모든 Clock 개체는 시스템 리소스를 계속 사용합니다. 타이밍 시스템은 클록을 자동으로 제거하지 않습니다.
Compose를 사용하여 많은 수의 클록을 적용할 때 성능 문제를 방지하려면 완료된 후 애니메이션 속성에서 클록 작성을 제거해야 합니다. 클록을 제거하는 방법에는 여러 가지가 있습니다.
속성에서 모든 클록을 제거하려면 애니메이션 개체의 ApplyAnimationClock(DependencyProperty, AnimationClock) 또는 BeginAnimation(DependencyProperty, AnimationTimeline) 메서드를 사용합니다. 첫 번째 매개변수로 애니메이션이 적용될 속성을 지정하고
null를 두 번째 매개변수로 지정하십시오. 이렇게 하면 해당 속성에서 모든 애니메이션 클록이 제거됩니다.특정한 AnimationClock을 클록 목록에서 제거하려면, Controller의 AnimationClock 속성을 사용하여 ClockController를 검색한 후, Remove의 ClockController 메서드를 호출합니다. 일반적으로 클록에 대한 Completed 이벤트 처리기에서 수행됩니다. 루트 클록만 a ClockControllerController 로 제어할 수 있습니다. 자식 클록의 속성은 반환됩니다
null. 또한 클록의 Completed 유효 기간이 영원히 지속되면 이벤트가 발생하지 않습니다. 이 경우 사용자는 호출 Remove시기를 결정해야 합니다.
이것은 주로 수명이 긴 개체에 대한 애니메이션에서 문제가 됩니다. 개체가 가비지 수집될 경우 해당 클록도 연결이 끊어지고 가비지가 수집됩니다.
클록 개체에 대한 자세한 내용은 애니메이션 및 타이밍 시스템 개요를 참조하세요.