Feedback

Value-änderung bei WPF ProgressBar animieren

Sprache: C#

Wenn man einen Fortschritt darstellt der nur wenige Schritte hat, dann sieht es immer leicht "abgehackt" aus, wenn sich die Value-Eigenschaft ändert. In WPF ist es recht einfach diese Änderung zu animieren, sodass es besser aussieht. Diese Methode ist als Erweiterung für die ProgressBar-Klasse implementiert und muss anstelle der Eigenschaft Value verwendet werden.
        public static void SetValueAnimated(this System.Windows.Controls.ProgressBar p, double val)
        {
            System.Windows.Media.Animation.DoubleAnimation da = new System.Windows.Media.Animation.DoubleAnimation();
            da.To = val;
            da.Duration = new System.Windows.Duration(new System.TimeSpan(0, 0, 0, 0, 200));
            p.BeginAnimation(System.Windows.Controls.ProgressBar.ValueProperty, da);
        }
        public static void SetValueAnimated(this System.Windows.Controls.ProgressBar p, double val)
        {
            System.Windows.Media.Animation.DoubleAnimation da = new System.Windows.Media.Animation.DoubleAnimation();
            da.To = val;
            da.Duration = new System.Windows.Duration(new System.TimeSpan(0, 0, 0, 0, 200));
            p.BeginAnimation(System.Windows.Controls.ProgressBar.ValueProperty, da);
        }