Cómo restablecer WPF barra de progreso?
-
20-09-2019 - |
Pregunta
Estoy probando una barra de progreso WPF y tratar de restablecer a su estado inicial, pero no funciona.
Duration duration = new Duration(TimeSpan.FromSeconds(1));
DoubleAnimation doubleanimation = new DoubleAnimation(200.0, duration);
myProgress.IsIndeterminate = true;
myProgress.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);
myProgress.Value = 0;
Antes de la animación, la barra de progreso es estática (sin animación). Después de la animación, el color de la barra de progreso es ahora de color gris claro (más ligero que antes) con un efecto de iluminación de flash.
Al comentar la duración y la animación doble, la barra de progreso permanece estático. Veo que hay algo que ver con esta doble animación.
//Duration duration = new Duration(TimeSpan.FromSeconds(1));
//DoubleAnimation doubleanimation = new DoubleAnimation(200.0, duration);
myProgress.IsIndeterminate = true;
//myProgress.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);
myProgress.Value = 10;
myProgress.Value = 0;
¿Cómo puedo solucionar este problema DoubleAnimation? Lo que me estoy perdiendo aquí?
Solución
Tener un vistazo a este tema:
Otros consejos
Utilice esta forma de la DoubleAnimation lugar
DoubleAnimation doubleanimation = new DoubleAnimation(0,200, duration);
Cuando se establece explícitamente un tanto desde y demasiado valor en lugar de sólo un valor de destino.
Código:
Dentro de la ventana de Héctor:
myProgress.Maximum = 100; myProgress.Minimum = 0;
A continuación, decir en un clic de botón manejador
myProgress.IsIndeterminate = false; //shouldn't really need this PB oddity
myProgress.IsIndeterminate = true;
myProgress.Value = 0;
Duration duration = new Duration(TimeSpan.FromSeconds(1));
DoubleAnimation doubleanimation = new DoubleAnimation(0,200, duration);
myProgress.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);
El PB es en un StackPanel, xaml es
<ProgressBar Name="myProgress" Height="20"></ProgressBar>
Esto fue probado inicialmente en XP pero ver abajo
Para una solución de Windows 7 consulte aquí