WPF ProgressBar显示进度(六)

来源:互联网 发布:java线程怎么用 编辑:程序博客网 时间:2024/04/29 19:31

        最近在codeproject里看到一篇名叫《WPF ProgressBar》的文章,里面采用委托来显示进度条的进度,我把里面的代码做了点小小的改动,在此分享下。

主要方法如下:

        /// <summary>        /// 定义委托,用于绑定ProgressBar的SetValue方法        /// </summary>        /// <param name="dp"></param>        /// <param name="value"></param>        private delegate void UpdateProgressBarEventHandler(DependencyProperty dp, Object value);        /// <summary>        /// 开始显示进度条的进度        /// </summary>        private void StartProcess()        {            this.pb.Minimum = 0;            this.pb.Maximum = 100;            this.pb.Value = 0;            double value = 0;            UpdateProgressBarEventHandler updateProgressBar = new UpdateProgressBarEventHandler(this.pb.SetValue);            do            {                value++;                this.pb.Dispatcher.Invoke(updateProgressBar, DispatcherPriority.Background, new object[] { ProgressBar.ValueProperty, value });                Thread.Sleep(200);            } while (this.pb.Value < this.pb.Maximum);        }

xaml里只需要放入一个名为pb的ProgressBar和一个Button即可,按钮的click事件调用StartProcess。

0 0