Почему я не могу установить значение ProgressBar? - PullRequest
1 голос
/ 14 февраля 2011

друзья, спасибо за ваше время!В кодах ниже в WPF есть проблема. Я использую ProgressBar и анимацию, которые показывают ход изменения значений. Когда анимация завершена, я пытаюсь сбросить значение до 0, чтобы ProgressBar мог начать новую анимацию с 0снова до 100. Но в результате я не могу установить значение 0, кажется, что это будет 100 навсегда, независимо от того, как я пытался !!!!!Не могли бы вы дать мне несколько идей, спасибо!

        pbStatus.Value = 0;//Promblem!! pbStatus is a ProgressBar
        Duration dr = new Duration(TimeSpan.FromSeconds(2));
        DoubleAnimation da = new DoubleAnimation(100, dr);
        pbStatus.IsIndeterminate = false;
        pbStatus.Visibility = Visibility.Visible;
        pbStatus.BeginAnimation(ProgressBar.ValueProperty, da);

Ответы [ 2 ]

4 голосов
/ 14 февраля 2011

Пожалуйста, смотрите эту статью .


Сводка. Существует три способа установить значение после анимации.

  1. Установить для свойства анимации FillBehavior значение Stop
  2. Удалить всю раскадровку. (Неприменимо, поскольку у вас нет раскадровки)
  3. Удалить анимацию из индивидуального свойства.

(1) Установить поведение заливки анимации для остановки:

da.FillBehavior = FillBehavior.Stop;

(3) Удалите анимацию, вызвав ее перед установкой нового значения:

pbStatus.BeginAnimation(ProgressBar.ValueProperty, null);
1 голос
/ 14 февраля 2011

С этой статьи :

private void CreateDynamicProgressBarControl()
{
    ProgressBar PBar2 = new ProgressBar();
    PBar2.IsIndeterminate = false;
    PBar2.Orientation = Orientation.Horizontal;
    PBar2.Width = 100;
    PBar2.Height = 10;
    Duration duration = new Duration(TimeSpan.FromSeconds(10));
    DoubleAnimation doubleanimation = new DoubleAnimation(100.0, duration);
    PBar2.BeginAnimation(ProgressBar.ValueProperty, doubleanimation);
    SBar.Items.Add(PBar2);

}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...