Wie kann ich Sie animieren die UserControl-Objekte mithilfe von Storyboard und DoubleAnimation?

In meiner WPF-Anwendung, ich habe ein Canvas-Objekt, das enthält einige UserControl-Objekte.

Möchte ich animieren Sie die UserControl-Objekte im Canvas-Bereich mithilfe der DoubleAnimation so dass Sie gehen von den rechten der Leinwand auf der linken Seite der Leinwand. Dies ist, wie ich es bisher gemacht (wenn man die UserControl-Objekte in die Funktion):

    private void Animate(FrameworkElement e)
    {
        DoubleAnimation ani = new DoubleAnimation()
        {
            From = _container.ActualWidth,
            To = 0.0,
            Duration = new Duration(new TimeSpan(0, 0, 10),
            TargetElement = e
        };

        TranslateTransform trans = new TranslateTransform();
        e.RenderTransform = trans;

        trans.BeginAnimation(TranslateTransform.XProperty, ani, HandoffBehavior.Compose);
    }

Jedoch, das mir nicht erlaubt, zu pausieren die animation, also ich habe gedacht, dass mithilfe eines Storyboards statt dies zu tun, aber ich bin mir nicht sicher, wie Sie diese umsetzen. Dies war mein Versuch bisher:

    private void Animate(FrameworkElement e)
    {
        DoubleAnimation ani = new DoubleAnimation()
        {
            From = _container.ActualWidth,
            To = 0.0,
            Duration = new Duration(new TimeSpan(0, 0, 10),
            TargetElement = e
        };

        Storyboard stb = new Storyboard();
        Storyboard.SetTarget(ani, e);
        Storyboard.SetTargetProperty(ani, "Left");
        stb.Children.Add(ani);
        stb.Begin();
    }

Natürlich, dies nicht als UserControl nicht Left Eigenschaft. Wie kann ich erreichen, was ich mir nach dem?

Dank.

InformationsquelleAutor Neo | 2009-11-24
Schreibe einen Kommentar