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);
}
Kommentare zum Snippet