FrameworkContentElement.BeginStoryboard 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
開始所提供分鏡腳本中包含的動作序列。
多載
BeginStoryboard(Storyboard) |
開始所提供分鏡腳本中包含的動作序列。 |
BeginStoryboard(Storyboard, HandoffBehavior) |
開始包含在所提供分鏡腳本中的動作序列,並針對屬性已產生動畫效果時所指定的選項。 |
BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
開始所提供分鏡腳本中包含的動作序列,並在動畫啟動之後,具有控制動畫的指定狀態。 |
BeginStoryboard(Storyboard)
開始所提供分鏡腳本中包含的動作序列。
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard -> unit
Public Sub BeginStoryboard (storyboard As Storyboard)
參數
- storyboard
- Storyboard
要開始的分鏡腳本。
備註
對於未使用 isControllable
、參數或指定該參數的簽章 false
時,一到達「填滿」期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新啟動動畫。 請注意,控制動畫也需要在程序代碼中將分鏡腳本命名或存取為實例。
適用於
BeginStoryboard(Storyboard, HandoffBehavior)
開始包含在所提供分鏡腳本中的動作序列,並針對屬性已產生動畫效果時所指定的選項。
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior)
參數
- storyboard
- Storyboard
要開始的分鏡腳本。
- handoffBehavior
- HandoffBehavior
列舉值,這個值描述腳本中所述的屬性已經以動畫顯示時所要使用的行為。
備註
對於未使用 isControllable
、參數或指定該參數的簽章 false
時,一到達「填滿」期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新啟動動畫。 請注意,控制動畫也需要在程序代碼中將分鏡腳本命名或存取為實例。
使用 Compose HandoffBehavior
當您使用 ComposeHandoffBehavior將 Storyboard、AnimationTimeline或 AnimationClock 套用至屬性時,先前與該屬性相關聯的任何 Clock 對象都會繼續取用系統資源:計時系統不會自動移除時鐘。
若要避免當您使用 Compose套用大量時鐘時發生效能問題,您應該在時鐘完成之後,從動畫屬性中移除撰寫時鐘。 有數種方式可以移除時鐘:
若要從 屬性中移除所有時鐘,請使用動畫物件的 ApplyAnimationClock(DependencyProperty, AnimationClock) 或 BeginAnimation(DependencyProperty, AnimationTimeline) 方法。 將動畫屬性指定為第一個參數,並將
null
指定為第二個參數。 這會從屬性中移除所有動畫時鐘。若要從時鐘清單中移除特定 AnimationClock,請使用 AnimationClock 的 Controller 屬性來擷取 ClockController,然後呼叫 ClockController的 Remove 方法。 這通常是在時鐘的 Completed 事件處理程式中完成。 請注意,只有根時鐘可以由 ClockController控制;子時鐘的 Controller 屬性會傳回
null
。 另請注意,如果時鐘的有效持續時間是永遠的,則不會引發 Completed 事件。 在這裡情況下,使用者必須判斷何時呼叫 Remove。
這主要是物件上具有較長存留期之動畫的問題。 當物件被垃圾收集時,其時鐘也會中斷連線並垃圾收集。
如需時鐘物件的詳細資訊,請參閱 動畫和計時系統概觀。
適用於
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
開始所提供分鏡腳本中包含的動作序列,並在動畫啟動之後,具有控制動畫的指定狀態。
public:
void BeginStoryboard(System::Windows::Media::Animation::Storyboard ^ storyboard, System::Windows::Media::Animation::HandoffBehavior handoffBehavior, bool isControllable);
public void BeginStoryboard (System.Windows.Media.Animation.Storyboard storyboard, System.Windows.Media.Animation.HandoffBehavior handoffBehavior, bool isControllable);
member this.BeginStoryboard : System.Windows.Media.Animation.Storyboard * System.Windows.Media.Animation.HandoffBehavior * bool -> unit
Public Sub BeginStoryboard (storyboard As Storyboard, handoffBehavior As HandoffBehavior, isControllable As Boolean)
參數
- storyboard
- Storyboard
要開始的分鏡腳本。
- handoffBehavior
- HandoffBehavior
列舉值,這個值描述腳本中所述的屬性已經以動畫顯示時所要使用的行為。
- isControllable
- Boolean
宣告動畫在啟動后是否可控制(可以暫停)。
備註
對於未使用 isControllable
、參數或指定該參數的簽章 false
時,一到達「填滿」期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新啟動動畫。 請注意,控制動畫也需要在程序代碼中將分鏡腳本命名或存取為實例。
使用 Compose HandoffBehavior
當您使用 ComposeHandoffBehavior將 Storyboard、AnimationTimeline或 AnimationClock 套用至屬性時,先前與該屬性相關聯的任何 Clock 對象都會繼續取用系統資源:計時系統不會自動移除這些時鐘。
若要避免當您使用 Compose套用大量時鐘時發生效能問題,您應該在時鐘完成之後,從動畫屬性中移除撰寫時鐘。 有數種方式可以移除時鐘:
若要從 屬性中移除所有時鐘,請使用動畫物件的 ApplyAnimationClock(DependencyProperty, AnimationClock) 或 BeginAnimation(DependencyProperty, AnimationTimeline) 方法。 將動畫屬性指定為第一個參數,並將
null
指定為第二個參數。 這會從屬性中移除所有動畫時鐘。若要從時鐘清單中移除特定 AnimationClock,請使用 AnimationClock 的 Controller 屬性來擷取 ClockController,然後呼叫 ClockController的 Remove 方法。 這通常是在時鐘的 Completed 事件處理程式中完成。 請注意,只有根時鐘可以由 ClockController控制;子時鐘的 Controller 屬性會傳回
null
。 另請注意,如果時鐘的有效持續時間是永遠的,則不會引發 Completed 事件。 在這裡情況下,使用者必須判斷何時呼叫 Remove。
這主要是物件上具有較長存留期之動畫的問題。 當物件被垃圾收集時,其時鐘也會中斷連線並垃圾收集。
如需時鐘物件的詳細資訊,請參閱 動畫和計時系統概觀。