Windows Phone .Deployment.Current.Dispatcher.BeginInvoke影响进程

时间:2015-07-14 13:24:21

标签: c# c#-4.0 windows-phone-7 windows-phone-8 windows-phone

我正在Windows手机中开发一个聊天应用程序。我使用Deployment.Current.Dispatcher.BeginInvoke方法来更新UI,但在使用Dispatcher.BeginInvoke时,屏幕会被触发。如何解决这个或任何方式来更新UI而不会卡住?

1 个答案:

答案 0 :(得分:2)

如果您使用调度程序,那么您将在UI线程中执行给定的代码。当您在UI线程中执行代码时,UI会被卡住。没有办法解决这个问题,所以你必须确保只在UI线程中执行绝对最少量的代码。常见的模式是在后台线程中检索/计算数据,然后仅切换到UI以更新控件。 BackgroundWorker类是获得此结果的便捷帮助。