从后台线程通知UI线程
本文关键字:线程 UI 通知 后台 | 更新日期: 2023-09-27 18:02:44
我正在后台下载一些页面,这些页面的内容将被插入到数据库中。
我需要在某种类型的后台线程上这样做(BackgroundWorker或ThreadPool,由于我可以排队的方式,这是首选),但我也需要在工作完成时更新UI。
如何通知UI线程Windows Phone上的作业已经完成?
我看到有人使用Dispatcher。beginInvoke,但不清楚他使用的是什么(Worker还是Pool)——这是正确的方法吗?
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
// change UI here
});
Dispatcher允许你在线程上运行一段代码。
Deployment类提供基于silverlight的应用程序的应用程序信息。
这是你需要使用的代码,实际上这是你可以从另一个线程在UI线程上运行一段代码的方式(不管这个线程是如何运行的,在哪里运行的)
或者,如果您使用MVVM,您可以从UI线程更新视图模型,并让INotifyPropertyChanged的魔力处理为您更新UI