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
當您使用 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 。
這主要是在存留期較長的物件才會發生的動畫問題。 當物件被垃圾收集時,其時鐘也會中斷連線並垃圾收集。
如需時鐘物件的詳細資訊,請參閱 動畫和計時系統概觀。
適用於
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
當您使用 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 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應