WPF ProgressBar не показывает прогресс - PullRequest
0 голосов
/ 18 января 2011

Я смущен WPF ProgressBar.Вот код, который я написал, чтобы отобразить его:

<ProgressBar Height="31" Margin="15" Name="progressBar" 
VerticalAlignment="Top" IsIndeterminate="True" />

Как я знаю, этого достаточно, чтобы заставить его работать.Но это не работает в моем проекте.Я имею в виду, когда я показываю окно (на самом деле это всплывающее окно как проект xbap), индикатор выполнения не показывает никакой анимации, однако он виден.

Фоновых потоков пока нет, поток пользовательского интерфейса не заблокирован.

Что не так?

Ответы [ 3 ]

3 голосов
/ 18 января 2011

Фоновых потоков пока нет, поток пользовательского интерфейса не заблокирован.

Я думаю, что вы абсолютно не правы, и это ваша проблема. У вас нет фоновых потоков, и поэтому ваш пользовательский интерфейс заблокирован . Если ваш метод, который обновляет индикатор выполнения, выполняется в потоке пользовательского интерфейса (что происходит, если вы не запускаете его в фоновом потоке), обновления индикатора выполнения не появятся, пока метод не будет запущен и управление вернулся к Диспетчеру.

Вам необходимо запустить длительный метод в фоновом потоке, используя BackgroundWorker, и обновить индикатор выполнения, вызвав и обработав его событие ProgressChanged. Обработчик событий выполняется в потоке пользовательского интерфейса и может обновлять объекты пользовательского интерфейса.

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

Пожалуйста, попробуйте эти коды

        ProgressBar test=new ProgressBar();
        Duration dr = new Duration(TimeSpan.FromSeconds(timespan));
        DoubleAnimation da = new DoubleAnimation(determination, dr);
        test.IsIndeterminate = false;
        test.Visibility = Visibility.Visible;
        test.BeginAnimation(ProgressBar.ValueProperty, da);

Если вы хотите, чтобы ProgressBar работал, вы должны создать экземпляр Animation и установить его в ProgressBar. Может помочь!

0 голосов
/ 18 января 2011

Может использоваться тема Windows, в которой неопределенные индикаторы выполнения отображаются неправильно.

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