首页 新闻 赞助 找找看

BackgroundWorker in WPF(问题已解决)

1
悬赏园豆:10 [已关闭问题] 关闭于 2010-12-14 11:06

我想咨询一下

我做 了demo发现 在wpf下,不会触发 ProgressChanged  工程直接从 DoWork 进入
RunWorkerCompleted

 

通过查看MSDN 知道BackgroundWorker 控件,是在Winform 下使用的,而且创建Winform的工程,是可以正常触发的

我需要做的操作是,我做了一个静态的滚动页面(前台进程),需要完成一个ftp上传服务(后台进程)

1.点击按钮是做ftp上传,点击时,加载一个静态滚动页面,不做任何操作

2.后台进程进行数据上传,在DoWorker中做路径读取

3.ProgressChanged 中作静态页面的Visible

4.完成之后,将静态页面Hidden

5.注销事件BackgroundWorker,关闭ftp

 

以上操作,在winform的工程中,能正常运作,但是在WPF窗体中,始终没有进入ProgressChanged 

直接从Doworker进入了Complete操作,请问解决方案,和出现这种问题的原因?

 

找到了解决方案:

发现在WPF中
APPlication 如果是DoWorker的操作,根据MSDN的提示,可以在DoWorker中设置一个类似于触发的 方法,用来触发ProgressChanged

可以在Doworker中建立一个循环操作for 用来反馈操作的完成量,从而触发ProgressChanged

触发模式为
  _backgroundWorder.ReportProgress(i);

当然,不可忽略的是,在之前就完成_backgroundWorder = new BackgroundWorker(); 的申明操作

 

 

玩本本的皮蛋的主页 玩本本的皮蛋 | 初学一级 | 园豆:95
提问于:2010-12-13 10:07
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册