Animatable.ApplyAnimationClock Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Animerar den angivna DependencyProperty med hjälp av angiven AnimationClock.
Överlagringar
| Name | Description |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används överlämningsbeteendet SnapshotAndReplace . |
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används den angivna HandoffBehavior . |
ApplyAnimationClock(DependencyProperty, AnimationClock)
Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används överlämningsbeteendet SnapshotAndReplace .
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock);
public void ApplyAnimationClock(System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock)
Parametrar
Egenskapen som ska animeras.
- clock
- AnimationClock
Klockan som den angivna egenskapen ska animeras med. Om clock är nulltas alla animeringar bort från den angivna egenskapen (men stoppas inte).
Implementeringar
Kommentarer
Observera att användningen av den här metoden för att ta bort klockor från en egenskap inte stoppar dessa klockor.
Gäller för
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
Tillämpar en AnimationClock på den angivna DependencyProperty. Om egenskapen redan är animerad används den angivna HandoffBehavior .
public:
virtual void ApplyAnimationClock(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationClock ^ clock, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void ApplyAnimationClock(System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationClock clock, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
abstract member ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
override this.ApplyAnimationClock : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationClock * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub ApplyAnimationClock (dp As DependencyProperty, clock As AnimationClock, handoffBehavior As HandoffBehavior)
Parametrar
Egenskapen som ska animeras.
- clock
- AnimationClock
Klockan som den angivna egenskapen ska animeras med. Om handoffBehavior är SnapshotAndReplace och clock är nulltas alla animeringar bort från den angivna egenskapen (men stoppas inte). Om handoffBehavior är Compose och klockan är nullhar den här metoden ingen effekt.
- handoffBehavior
- HandoffBehavior
Ett värde som anger hur den nya animeringen ska interagera med eventuella aktuella animeringar som redan påverkar egenskapsvärdet.
Implementeringar
Exempel
I följande exempel visas hur du använder animeringsklockor med olika HandoffBehavior inställningar.
Kommentarer
Observera att användningen av den här metoden för att ta bort klockor från en egenskap inte stoppar dessa klockor.
Använda Compose HandoffBehavior
När du tillämpar en Storyboard, AnimationTimelineeller AnimationClock på en egenskap med hjälp av ComposeHandoffBehaviorfortsätter alla Clock objekt som tidigare var associerade med den egenskapen att förbruka systemresurser. tidsschemat tar inte bort dessa klockor automatiskt.
För att undvika prestandaproblem när du använder ett stort antal klockor med hjälp av Composebör du ta bort komponerande klockor från den animerade egenskapen när de har slutförts. Det finns flera sätt att ta bort en klocka.
Om du vill ta bort alla klockor från en egenskap använder du metoden ApplyAnimationClock(DependencyProperty, AnimationClock) eller BeginAnimation(DependencyProperty, AnimationTimeline) för det animerade objektet. Ange egenskapen som ska animeras som den första parametern och
nullsom den andra. Då tas alla animeringsklockor bort från egenskapen.Om du vill ta bort en specifik AnimationClock från en lista med klockor använder du egenskapen Controller för AnimationClock för att hämta en ClockControlleroch anropar sedan metoden Remove för ClockController. Detta görs vanligtvis i Completed händelsehanterare för en klocka. Observera att endast rotklockor kan styras av en ClockController; egenskapen Controller för en sekundärklocka returnerar
null. Observera också att händelse Completed inte anropas om den effektiva varaktigheten för klockan är oändlig. I så fall måste användaren bestämma när Removeska anropas.
Det här är främst ett problem för animeringar på objekt som har en lång livslängd. När ett objekt är skräpinsamling kopplas även klockorna från och skräp samlas in.
Mer information om klockobjekt finns i Översikt över animerings- och tidsschemasystem.