Animationsende

  • WPF
  • .NET (FX) 4.5–4.8

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von arthur.

    Animationsende

    In Silverlight stand am Ende einer Animation das Ereignis AnimationCompleted zur Verfügung. Wie kann ich dieses Ereignis bei Desktop-Anwendungen erhalten?

    Thema verschoben; Das Thema wird automatisch dort erstellt, wo man sich befindet, wenn man auf [✱ Neues Thema] klickt. ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Danke Amro,

    so sähe das beispielsweise in Silverlight aus.
    MS0_Compleated kann man dann abfragen, um eine neue Animation zu starten und somit Abläufe zu automatisieren. Und genau diese Funktion vermisse ich bei Desktop-Projekten.
    Eigentlich sollte Silverlight ja nur eine Untermenge des Standard-Basic sein. Deshalb wundere ich mich, dass solche Dinge dort fehlen.

    Wie bilde ich mir also dieses Ereignis "Animation_Completed"?

    XML-Quellcode

    1. <Storyboard x:Name="Frage0">
    2. <DoubleAnimation Storyboard.TargetName="STPfrage"
    3. Storyboard.TargetProperty="Opacity"
    4. From="1"
    5. To="0"
    6. Duration="0:0:1"
    7. Completed="MS0_Completed"
    8. </Storyboard>


    CodeTags gesetzt ~VaporiZed

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    Auf die schnelle erstellt.
    Müsste eigentlich so funktionieren, wenn ich dich richtig verstanden hab.

    MainWindow
    Spoiler anzeigen

    XML-Quellcode

    1. <Grid>
    2. <Rectangle x:Name="myRectangle" Width="100" Height="100" Fill="Blue">
    3. <Rectangle.Triggers>
    4. <EventTrigger RoutedEvent="Rectangle.MouseEnter">
    5. <BeginStoryboard >
    6. <Storyboard >
    7. <DoubleAnimation Storyboard.TargetName="myRectangle"
    8. Storyboard.TargetProperty="Opacity"
    9. From="1.0" To="0.0" Duration="0:0:1"
    10. Completed="MyStoryBoard_Completed"/>
    11. </Storyboard>
    12. </BeginStoryboard>
    13. </EventTrigger>
    14. </Rectangle.Triggers>
    15. </Rectangle>
    16. </Grid>



    Code-Behind
    Spoiler anzeigen

    C#-Quellcode

    1. public partial class MainWindow : Window
    2. {
    3. public MainWindow()
    4. {
    5. InitializeComponent();
    6. }
    7. private void MyStoryBoard_Completed(object sender, EventArgs e)
    8. {
    9. var stop=0;
    10. }
    11. }


    Eigentlich genauso wie bei dir .

    Edit: Hab die Window.Resources raus genommen.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Amro“ ()

    Willkommen im Forum.

    arthur schrieb:

    mit C# geht das.
    Mit VB allerdings nicht.
    Ich habe keine Ahnung von WPF, aber selbst das habe ich hinbekommen, indem ich den C#-Code einfach in VB.NET übersetzt habe.
    Aber vielleicht versteh ich auch Deinen Einwand nicht und Du meinst was komplett anderes.

    Warum die Ausrede "Das ist aber C#" nicht gilt

    falls Du es nicht hinbekommst

    VB.NET-Quellcode

    1. Public Class MainWindow
    2. Private Sub MyStoryBoard_Completed(sender As Object, e As EventArgs)
    3. Stop
    4. End Sub
    5. End Class

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.