Это XAML с кнопкой и 3 индикаторами выполнения
TestBtn
это нить для обновления 3 индикаторов прогресса.
Thread thread = new Thread(
new ThreadStart(
delegate()
{
progressBar1.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
new Action(
delegate()
{
int x=0;
while(true)
{
x++;
Thread.Sleep(50);
progressBar1.Value = x;
if (x>100)
{
break;
}
}
MessageBox.Show(" Complete ");
}
));
progressBar2.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
new Action(
delegate()
{
int y = 0;
while (true)
{
Thread.Sleep(50);
y = y + 2;
progressBar2.Value = y;
if (y > 100)
{
break;
}
}
MessageBox.Show(" Complete ");
}
));
progressBar3.Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Normal,
new Action(
delegate()
{
int z = 0;
while (true)
{
Thread.Sleep(50);
z = z + 3;
progressBar3.Value = z;
if (z > 100)
{
break;
}
}
MessageBox.Show(" Complete ");
}
));
)
);//end of thread
thread.Start();
}
когда я запускаю это, все 3 индикатора выполнения наконец обновляются до 100 процентов (все достигают сразу 100 одновременно), и это не показывает никаких приращений от 0 до 100.
Что мне нужно, так это поток с 3 элементами, каждый из которых будет обновлять пользовательский интерфейс в одно и то же время. Так что здесь, в одно и то же время, все эти 3 индикатора выполнения должны запускаться и заканчиваться в соответствии с циклом.
(Когда мы копируем файлы, в пользовательском интерфейсе описание копирования меняется одновременно с обновлением индикатора выполнения. Я хочу, чтобы это было похоже на это. Так что я думаю, что если я смогу понять такой небольшой пример, то я могу отсортировать требуется)