FrameworkElement.BeginStoryboard Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee begint u de reeks acties in het opgegeven storyboard.
Overloads
| Name | Description |
|---|---|
| BeginStoryboard(Storyboard) |
Hiermee begint u de reeks acties die zijn opgenomen in het opgegeven storyboard. |
| BeginStoryboard(Storyboard, HandoffBehavior) |
Hiermee begint u de reeks acties in het opgegeven storyboard, met opties die zijn opgegeven voor wat er moet gebeuren als de eigenschap al is geanimeerd. |
| BeginStoryboard(Storyboard, HandoffBehavior, Boolean) |
Hiermee begint u de reeks acties in het opgegeven storyboard, met de opgegeven status voor het beheer van de animatie nadat deze is gestart. |
BeginStoryboard(Storyboard)
Hiermee begint u de reeks acties die zijn opgenomen in het opgegeven 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)
Parameters
- storyboard
- Storyboard
Het storyboard om te beginnen.
Voorbeelden
In het volgende voorbeeld wordt een Storyboard uit resources opgehaald en vervolgens uitgevoerd Storyboard wanneer een interne gebeurtenis wordt verwerkt.
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
Opmerkingen
In de meeste typische animatiescenario's wordt deze methode niet gebruikt. Normaal gesproken maakt u de markering of Storyboard het BeginStoryboard element in markeringen en plaatst u deze als de EventTrigger inhoud op een element. Wanneer de animatie wordt geactiveerd door de gebeurtenis, wordt de animatie uitgevoerd. De meeste besturingsaspecten van een Storyboard kunnen worden aangepakt door eigenschappen die in markeringen worden weergegeven.
Voor de handtekeningen die niet gebruikmaken van de isControllableparameter, of wanneer deze parameter is opgegeven false, worden de tijdlijnklokken die aan de animatie zijn gekoppeld, verwijderd zodra de animatie de periode Opvulling bereikt. Daarom kan de animatie niet opnieuw worden gestart nadat deze eenmaal is uitgevoerd. Voor het beheren van een animatie moet het storyboard ook een x:Name Directive hebben of toegankelijk zijn via verwijzing in code.
Van toepassing op
BeginStoryboard(Storyboard, HandoffBehavior)
Hiermee begint u de reeks acties in het opgegeven storyboard, met opties die zijn opgegeven voor wat er moet gebeuren als de eigenschap al is geanimeerd.
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)
Parameters
- storyboard
- Storyboard
Het storyboard om te beginnen.
- handoffBehavior
- HandoffBehavior
Een waarde van de opsomming die het gedrag beschrijft dat moet worden gebruikt als een eigenschap die in het storyboard wordt beschreven, al is geanimeerd.
Voorbeelden
In het volgende voorbeeld wordt een Storyboard uit resources opgehaald en vervolgens uitgevoerd Storyboard wanneer een interne gebeurtenis wordt verwerkt.
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
Opmerkingen
In de meeste typische animatiescenario's wordt deze methode niet gebruikt. Normaal gesproken maakt u de markering of Storyboard het BeginStoryboard element in markeringen en plaatst u deze als de EventTrigger inhoud op een element. Wanneer de animatie wordt geactiveerd door de gebeurtenis, wordt de animatie uitgevoerd. De meeste besturingsaspecten van een Storyboard kunnen worden aangepakt door eigenschappen die in markeringen worden weergegeven.
Voor de handtekeningen die niet gebruikmaken van de isControllableparameter, of wanneer deze parameter is opgegeven false, worden de tijdlijnklokken die aan de animatie zijn gekoppeld, verwijderd zodra de animatie de periode Opvulling bereikt. Daarom kan de animatie niet opnieuw worden gestart nadat deze eenmaal is uitgevoerd. Voor het beheren van een animatie moet het storyboard ook een x:Name Directive hebben of toegankelijk zijn via verwijzing in code.
Handoff gedrag kan worden opgegeven als een kenmerk van BeginStoryboard.
De Compose HandoffBehavior gebruiken
Wanneer u een , of op een eigenschap toepast met behulp van de StoryboardAnimationTimelineeigenschap, blijven alle AnimationClock objecten die eerder aan die eigenschap zijn gekoppeld systeembronnen gebruiken; het timingsysteem verwijdert de klokken niet automatisch.ComposeHandoffBehaviorClock
Als u prestatieproblemen wilt voorkomen wanneer u een groot aantal klokken toepast met behulp Composevan, moet u het opstellen van klokken uit de eigenschap animatie verwijderen nadat deze zijn voltooid. Er zijn verschillende manieren om een klok te verwijderen:
Als u alle klokken uit een eigenschap wilt verwijderen, gebruikt u de methode ApplyAnimationClock(DependencyProperty, AnimationClock) of BeginAnimation(DependencyProperty, AnimationTimeline) van het object met animatie. Geef de eigenschap op die wordt geanimeerd als de eerste parameter en
nullals de tweede. Hiermee verwijdert u alle animatieklokken uit de eigenschap.Als u een specifieke AnimationClock uit een lijst met klokken wilt verwijderen, gebruikt u de eigenschap Controller van de AnimationClock om een ClockControllerop te halen en roept u de methode Remove van de ClockControlleraan. Dit wordt meestal gedaan in de Completed event handler voor een klok. Houd er rekening mee dat alleen hoofdklokken kunnen worden beheerd door een ClockController; de Controller eigenschap van een onderliggende klok retourneert
null. Houd er ook rekening mee dat de Completed gebeurtenis niet wordt gegenereerd als de effectieve duur van de klok voor altijd is. In dat geval moet de gebruiker bepalen wanneer hij moet bellen Remove.
Dit is voornamelijk een probleem voor animaties op objecten die een lange levensduur hebben. Wanneer een object wordt verzameld, worden de klokken ook losgekoppeld en afval verzameld.
Zie Overzicht van animatie- en tijdsinstellingensysteem voor meer informatie over klokobjecten.
Van toepassing op
BeginStoryboard(Storyboard, HandoffBehavior, Boolean)
Hiermee begint u de reeks acties in het opgegeven storyboard, met de opgegeven status voor het beheer van de animatie nadat deze is gestart.
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)
Parameters
- storyboard
- Storyboard
Het storyboard om te beginnen.
- handoffBehavior
- HandoffBehavior
Een waarde van de opsomming die het gedrag beschrijft dat moet worden gebruikt als een eigenschap die in het storyboard wordt beschreven, al is geanimeerd.
- isControllable
- Boolean
Geeft aan of de animatie besturingselementbaar is (kan worden onderbroken) nadat deze is gestart.
Opmerkingen
In de meeste typische animatiescenario's wordt deze methode niet gebruikt. Normaal gesproken maakt u de markering of Storyboard het BeginStoryboard element in markeringen en plaatst u deze als de EventTrigger inhoud op een element. Wanneer de animatie wordt geactiveerd door de gebeurtenis, wordt de animatie uitgevoerd. De meeste besturingsaspecten van een Storyboard kunnen worden aangepakt door eigenschappen die in markeringen worden weergegeven.
Voor de handtekeningen die niet gebruikmaken van de isControllableparameter, of wanneer deze parameter is opgegeven false, worden de tijdlijnklokken die aan de animatie zijn gekoppeld, verwijderd zodra de animatie de periode Opvulling bereikt. Daarom kan de animatie niet opnieuw worden gestart nadat deze eenmaal is uitgevoerd. Voor het beheren van een animatie moet het storyboard ook een x:Name Directive hebben of toegankelijk zijn via verwijzing in code.
Handoff gedrag kan worden opgegeven als een kenmerk van BeginStoryboard.
De Compose HandoffBehavior gebruiken
Wanneer u een , of op een eigenschap toepast met behulp van de StoryboardAnimationTimelineeigenschap, blijven alle AnimationClock objecten die eerder aan die eigenschap zijn gekoppeld systeembronnen gebruiken; het timingsysteem verwijdert de klokken niet automatisch.ComposeHandoffBehaviorClock
Als u prestatieproblemen wilt voorkomen wanneer u een groot aantal klokken toepast met behulp Composevan, moet u het opstellen van klokken uit de eigenschap animatie verwijderen nadat deze zijn voltooid. Er zijn verschillende manieren om een klok te verwijderen:
Als u alle klokken uit een eigenschap wilt verwijderen, gebruikt u de methode ApplyAnimationClock(DependencyProperty, AnimationClock) of BeginAnimation(DependencyProperty, AnimationTimeline) van het object met animatie. Geef de eigenschap op die wordt geanimeerd als de eerste parameter en
nullals de tweede. Hiermee verwijdert u alle animatieklokken uit de eigenschap.Als u een specifieke AnimationClock uit een lijst met klokken wilt verwijderen, gebruikt u de eigenschap Controller van de AnimationClock om een ClockControllerop te halen en roept u de methode Remove van de ClockControlleraan. Dit wordt meestal gedaan in de Completed event handler voor een klok. Houd er rekening mee dat alleen hoofdklokken kunnen worden beheerd door een ClockController; de Controller eigenschap van een onderliggende klok retourneert
null. Houd er ook rekening mee dat de Completed gebeurtenis niet wordt gegenereerd als de effectieve duur van de klok voor altijd is. In dat geval moet de gebruiker bepalen wanneer hij moet bellen Remove.
Dit is voornamelijk een probleem voor animaties op objecten die een lange levensduur hebben. Wanneer een object wordt verzameld, worden de klokken ook losgekoppeld en afval verzameld.
Zie Overzicht van animatie- en tijdsinstellingensysteem voor meer informatie over klokobjecten.