进度条 ProgressBar 这个控件,直接在循环里面写,会死掉,不会有进度。
需要把进度条放到单独的线程中。
传统的需要建立 Thread 或者使用 Timer,分别写在不同的方法中。
但现在,使用 Dispatcher.Invoke 调用可以实现这个目的。
写法是:
double value=0;
for (.....)
{
progressBar.Dispatcher.Invoke(new Action<System.Windows.DependencyProperty, object>(progressBar.SetValue), System.Windows.Threading.DispatcherPriority.Background, ProgressBar.ValueProperty, value);
value++;
}
需要把进度条放到单独的线程中。
传统的需要建立 Thread 或者使用 Timer,分别写在不同的方法中。
但现在,使用 Dispatcher.Invoke 调用可以实现这个目的。
写法是:
double value=0;
for (.....)
{
progressBar.Dispatcher.Invoke(new Action<System.Windows.DependencyProperty, object>(progressBar.SetValue), System.Windows.Threading.DispatcherPriority.Background, ProgressBar.ValueProperty, value);
value++;
}