我试图在后台下载一些页面,这些页面的内容将被插入到数据库中。
我需要在某种后台线程上执行此操作(可以使用BackgroundWorker或ThreadPool,由于我可以排队处理任务的方式,ThreadPool更受欢迎),但是当任务完成时,我还需要更新UI。
如何在Windows Phone上通知UI线程任务已完成?
我曾看到有人使用了Dispatcher.beginInvoke,但不清楚他使用的是Worker还是Pool--这是正确的做法吗?
我试图在后台下载一些页面,这些页面的内容将被插入到数据库中。
我需要在某种后台线程上执行此操作(可以使用BackgroundWorker或ThreadPool,由于我可以排队处理任务的方式,ThreadPool更受欢迎),但是当任务完成时,我还需要更新UI。
如何在Windows Phone上通知UI线程任务已完成?
我曾看到有人使用了Dispatcher.beginInvoke,但不清楚他使用的是Worker还是Pool--这是正确的做法吗?
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
// change UI here
});
Dispatcher 允许你在线程上运行代码。
Deployment 类提供了基于 Silverlight 的应用程序的应用信息。
以下是你需要使用的代码,实际上这是一种可以从另一个线程(无论该线程在何处和如何运行)运行 UI 线程上的代码的方法。
如果您正在使用MVVM,您可以在UI线程之外更新viewmodel,并让INotifyPropertyChanged的神奇功能为您处理UI更新。