Animatable.ApplyAnimationClock 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用指定的 DependencyProperty,建立指定的 AnimationClock 動畫。
多載
ApplyAnimationClock(DependencyProperty, AnimationClock) |
將 AnimationClock 套用至指定的 DependencyProperty。 如果屬性已有動畫效果,即使用 SnapshotAndReplace 遞移式行為。 |
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
將 AnimationClock 套用至指定的 DependencyProperty。 如果已建立屬性的動畫,則會使用指定的 HandoffBehavior。 |
ApplyAnimationClock(DependencyProperty, AnimationClock)
將 AnimationClock 套用至指定的 DependencyProperty。 如果屬性已有動畫效果,即使用 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)
參數
要製作動畫的屬性。
- clock
- AnimationClock
建立指定屬性動畫效果的時鐘。 如果 clock
是 null
,即移除指定屬性的所有動畫效果 (但不停止)。
實作
備註
請注意,使用此方法從屬性移除時鐘並不會停止這些時鐘。
適用於
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)
將 AnimationClock 套用至指定的 DependencyProperty。 如果已建立屬性的動畫,則會使用指定的 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)
參數
要製作動畫的屬性。
- clock
- AnimationClock
建立指定屬性動畫效果的時鐘。 如果 handoffBehavior
是 SnapshotAndReplace 且 clock
是 null
,則會從指定的屬性移除所有動畫 (但不會停止)。 如果 handoffBehavior
是 Compose 且時鐘是 null
,這個方法將不起任何作用。
- handoffBehavior
- HandoffBehavior
一個值,這個值指定新的動畫應該如何與已經影響屬性值的任何目前動畫互動。
實作
範例
下列範例示範如何使用不同的 HandoffBehavior 設定來套用動畫時鐘。
備註
請注意,使用此方法從 屬性移除時鐘並不會停止這些時鐘。
使用 Compose HandoffBehavior
當您使用 HandoffBehaviorCompose 將 、 AnimationTimeline 或 AnimationClock 套用 Storyboard 至 屬性時,先前與該屬性相關聯的任何 Clock 物件都會繼續取用系統資源;計時系統不會自動移除這些時鐘。
若要避免使用 套用 Compose 大量時鐘時的效能問題,您應該在動畫屬性完成之後,從動畫屬性中移除撰寫時鐘。 有幾個方式可移除時鐘。
若要從屬性移除所有時鐘,請使用 ApplyAnimationClock(DependencyProperty, AnimationClock) 動畫物件的 或 BeginAnimation(DependencyProperty, AnimationTimeline) 方法。 指定以動畫顯示的屬性做為第一個參數,並
null
指定為第二個參數。 這將會從屬性移除所有動畫時鐘。若要從時鐘清單中移除特定 AnimationClock ,請使用 Controller 的 AnimationClock 屬性來擷取 ClockController ,然後呼叫 Remove 的 ClockController 方法。 這通常是在事件處理常式中 Completed 為時鐘完成。 請注意,只有根時鐘可以由 ClockController 控制; Controller 子時鐘的 屬性會傳回
null
。 另請注意, Completed 如果時鐘的有效持續時間為永久,則不會呼叫 事件。 在此情況下,使用者必須判斷何時 Remove 呼叫 。
這主要是在存留期較長的物件才會發生的動畫問題。 記憶體回收物件時,也會中斷連接並記憶體回收其時鐘。
如需時鐘物件的詳細資訊,請參閱 動畫和計時系統概觀。
適用於
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應