UIElement.BeginAnimation Metodo

Definizione

Avvia un'animazione per una proprietà animata specificata su questo elemento.Starts an animation for a specified animated property on this element.

Overload

BeginAnimation(DependencyProperty, AnimationTimeline)

Avvia un'animazione per una proprietà animata specificata su questo elemento.Starts an animation for a specified animated property on this element.

BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Avvia un'animazione particolare per una proprietà animata specificata su questo elemento, con la possibilità di indicare cosa succede se la proprietà dispone già di un'animazione in esecuzione.Starts a specific animation for a specified animated property on this element, with the option of specifying what happens if the property already has a running animation.

BeginAnimation(DependencyProperty, AnimationTimeline)

Avvia un'animazione per una proprietà animata specificata su questo elemento.Starts an animation for a specified animated property on this element.

public:
 virtual void BeginAnimation(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationTimeline ^ animation);
public void BeginAnimation (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationTimeline animation);
abstract member BeginAnimation : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationTimeline -> unit
override this.BeginAnimation : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationTimeline -> unit
Public Sub BeginAnimation (dp As DependencyProperty, animation As AnimationTimeline)

Parametri

dp
DependencyProperty

Proprietà alla quale aggiungere un'animazione, specificata come identificatore della proprietà di dipendenza.The property to animate, which is specified as a dependency property identifier.

animation
AnimationTimeline

Sequenza temporale dell'animazione da avviare.The timeline of the animation to start.

Implementazioni

Esempi

Nell'esempio seguente viene creata un'animazione, viene assegnata, quindi viene chiamato BeginAnimation per avviarla.The following example creates an animation, assigns it, and then calls BeginAnimation to start it.

// Animate the button's width.
DoubleAnimation widthAnimation = 
    new DoubleAnimation(120, 300, TimeSpan.FromSeconds(5));
widthAnimation.RepeatBehavior = RepeatBehavior.Forever;
widthAnimation.AutoReverse = true;
animatedButton.BeginAnimation(Button.WidthProperty, widthAnimation);
' Animate the button's width.
Dim widthAnimation As New DoubleAnimation(120, 300, TimeSpan.FromSeconds(5))
widthAnimation.RepeatBehavior = RepeatBehavior.Forever
widthAnimation.AutoReverse = True
animatedButton.BeginAnimation(Button.WidthProperty, widthAnimation)

Commenti

Quando si verifica se una proprietà è animata, si noti che l'animazione verrà avviata e verrà considerata animata quando viene eseguito il rendering del primo frame oltre il punto iniziale non animato.When you check whether a property is animated, note that the animation will begin and be considered animated when the first frame beyond the non-animated starting point is rendered.

Se la BeginTime per animation è null, vengono rimosse tutte le animazioni correnti e viene mantenuto il valore corrente della proprietà.If the BeginTime for animation is null, then any current animations are removed and the current value of the property is held.

Se l'intero animation valore è null, tutte le animazioni vengono rimosse dalla proprietà e il valore della proprietà viene ripristinato sul valore di base.If the entire animation value is null, all animations are removed from the property and the property value reverts to its base value. Tuttavia, la sequenza temporale di animazione originariamente associata non viene arrestata.However, the originally associated animation timeline is not stopped. Qualsiasi altra animazione assegnata a tale sequenza temporale continuerà a essere eseguita.Any other animations assigned to that timeline will continue to run.

BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

Avvia un'animazione particolare per una proprietà animata specificata su questo elemento, con la possibilità di indicare cosa succede se la proprietà dispone già di un'animazione in esecuzione.Starts a specific animation for a specified animated property on this element, with the option of specifying what happens if the property already has a running animation.

public:
 virtual void BeginAnimation(System::Windows::DependencyProperty ^ dp, System::Windows::Media::Animation::AnimationTimeline ^ animation, System::Windows::Media::Animation::HandoffBehavior handoffBehavior);
public void BeginAnimation (System.Windows.DependencyProperty dp, System.Windows.Media.Animation.AnimationTimeline animation, System.Windows.Media.Animation.HandoffBehavior handoffBehavior);
abstract member BeginAnimation : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationTimeline * System.Windows.Media.Animation.HandoffBehavior -> unit
override this.BeginAnimation : System.Windows.DependencyProperty * System.Windows.Media.Animation.AnimationTimeline * System.Windows.Media.Animation.HandoffBehavior -> unit

Parametri

dp
DependencyProperty

Proprietà alla quale aggiungere un'animazione, specificata come identificatore della proprietà di dipendenza.The property to animate, which is specified as the dependency property identifier.

animation
AnimationTimeline

Sequenza temporale dell'animazione da applicare.The timeline of the animation to be applied.

handoffBehavior
HandoffBehavior

Valore dell'enumerazione che specifica il modo in cui la nuova animazione interagisce con tutte le animazioni correnti (in esecuzione) che già influiscono sul valore della proprietà.A value of the enumeration that specifies how the new animation interacts with any current (running) animations that are already affecting the property value.

Implementazioni

Esempi

Nell'esempio seguente viene implementato un gestore che ottiene un'animazione esistente da una risorsa e quindi chiama BeginAnimation con un comportamento di continuità specificato.The following example implements a handler that obtains an existing animation from a resource and then calls BeginAnimation with a specified handoff behavior.

private void myFrameNavigated(object sender, NavigationEventArgs args)
{
    DoubleAnimation myFadeInAnimation = (DoubleAnimation)this.Resources["MyFadeInAnimationResource"];
    myFrame.BeginAnimation(Frame.OpacityProperty, myFadeInAnimation, HandoffBehavior.SnapshotAndReplace);
}
Private Sub myFrameNavigated(ByVal sender As Object, ByVal args As NavigationEventArgs)
    Dim myFadeInAnimation As DoubleAnimation = CType(Me.Resources("MyFadeInAnimationResource"), DoubleAnimation)
    myFrame.BeginAnimation(Frame.OpacityProperty, myFadeInAnimation, HandoffBehavior.SnapshotAndReplace)
End Sub

Commenti

Quando si verifica se una proprietà è animata, si noti che l'animazione verrà avviata e verrà considerata animata quando viene eseguito il rendering del primo frame oltre il punto iniziale non animato.When you check whether a property is animated, note that the animation will begin and be considered animated when the first frame beyond the non-animated starting point is rendered.

Se la BeginTime per animation è null, vengono rimosse tutte le animazioni correnti e viene mantenuto il valore corrente della proprietà.If the BeginTime for animation is null, then any current animations are removed and the current value of the property is held.

Se l'intero animation valore è null, tutte le animazioni vengono rimosse dalla proprietà e il valore della proprietà viene ripristinato sul valore di base.If the entire animation value is null, all animations are removed from the property and the property value reverts to its base value. Tuttavia, la sequenza temporale di animazione originariamente associata non viene arrestata.However, the originally associated animation timeline is not stopped. Qualsiasi altra animazione assegnata a tale sequenza temporale continuerà a essere eseguita.Any other animations assigned to that timeline will continue to run.

Si applica a