共用方式為


FrameworkElement.BeginStoryboard 方法

定義

開始所提供分鏡腳本中包含的動作順序。

多載

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

要開始的分鏡腳本。

範例

下列範例會從資源擷取 Storyboard,然後在處理內部事件時執行該 Storyboard

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

備註

大多數典型的動畫案例不會使用此方法。 一般而言,您會在標記中建立 StoryboardBeginStoryboard 項目,然後將這些專案放在元素上做為 EventTrigger 內容。 由 事件觸發時,動畫接著會執行。 Storyboard 的大部分控件層面都可以由標記中公開的屬性來尋址。

對於未使用 isControllable、參數或指定該參數 false的簽章,只要動畫到達 “Fill” 期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新啟動動畫。 控制動畫也需要腳本具有 x:Name 指示詞,或可透過程式代碼中的參考存取。

適用於

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

列舉值,這個值描述腳本中所述的屬性已經以動畫顯示時所要使用的行為。

範例

下列範例會從資源擷取 Storyboard,然後在處理內部事件時執行該 Storyboard

private void OnImage1Animate(object sender, RoutedEventArgs e)
{
    Storyboard s;

    s = (Storyboard)this.FindResource("RotateStoryboard");
    this.BeginStoryboard(s);
}
Private Sub OnImage1Animate(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim s As Storyboard

    s = CType(Me.FindResource("RotateStoryboard"), Storyboard)
    Me.BeginStoryboard(s)
End Sub

備註

大多數典型的動畫案例不會使用此方法。 一般而言,您會在標記中建立 StoryboardBeginStoryboard 項目,然後將這些專案放在元素上做為 EventTrigger 內容。 由 事件觸發時,動畫接著會執行。 Storyboard 的大部分控件層面都可以由標記中公開的屬性來尋址。

對於未使用 isControllable、參數或指定該參數 false的簽章,只要動畫到達 “Fill” 期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新啟動動畫。 控制動畫也需要腳本具有 x:Name 指示詞,或可透過程式代碼中的參考存取。

交接行為可以指定為 BeginStoryboard的屬性。

使用 Compose HandoffBehavior

當您使用 ComposeHandoffBehaviorStoryboardAnimationTimelineAnimationClock 套用至屬性時,先前與該屬性相關聯的任何 Clock 對象都會繼續取用系統資源:計時系統不會自動移除時鐘。

若要避免當您使用 Compose套用大量時鐘時發生效能問題,您應該在時鐘完成之後,從動畫屬性中移除撰寫時鐘。 有數種方式可以移除時鐘:

這主要是物件上具有較長存留期之動畫的問題。 當物件被垃圾收集時,其時鐘也會中斷連線並垃圾收集。

如需時鐘物件的詳細資訊,請參閱 動畫和計時系統概觀

適用於

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

宣告動畫在啟動后是否可控制(可以暫停)。

備註

大多數典型的動畫案例不會使用此方法。 一般而言,您會在標記中建立 StoryboardBeginStoryboard 項目,然後將這些專案放在元素上做為 EventTrigger 內容。 由 事件觸發時,動畫接著會執行。 Storyboard 的大部分控件層面都可以由標記中公開的屬性來尋址。

對於未使用 isControllable、參數或指定該參數 false的簽章,只要動畫到達 “Fill” 期間,就會移除與動畫相關聯的時間軸時鐘。 因此,執行一次之後,就無法重新啟動動畫。 控制動畫也需要腳本具有 x:Name 指示詞,或可透過程式代碼中的參考存取。

交接行為可以指定為 BeginStoryboard的屬性。

使用 Compose HandoffBehavior

當您使用 ComposeHandoffBehaviorStoryboardAnimationTimelineAnimationClock 套用至屬性時,先前與該屬性相關聯的任何 Clock 對象都會繼續取用系統資源:計時系統不會自動移除時鐘。

若要避免當您使用 Compose套用大量時鐘時發生效能問題,您應該在時鐘完成之後,從動畫屬性中移除撰寫時鐘。 有數種方式可以移除時鐘:

這主要是物件上具有較長存留期之動畫的問題。 當物件被垃圾收集時,其時鐘也會中斷連線並垃圾收集。

如需時鐘物件的詳細資訊,請參閱 動畫和計時系統概觀

適用於