我正在Windows手机中开发一个聊天应用程序。我使用Deployment.Current.Dispatcher.BeginInvoke
方法来更新UI,但在使用Dispatcher.BeginInvoke
时,屏幕会被触发。如何解决这个或任何方式来更新UI而不会卡住?
答案 0 :(得分:2)
如果您使用调度程序,那么您将在UI线程中执行给定的代码。当您在UI线程中执行代码时,UI会被卡住。没有办法解决这个问题,所以你必须确保只在UI线程中执行绝对最少量的代码。常见的模式是在后台线程中检索/计算数据,然后仅切换到UI以更新控件。 BackgroundWorker
类是获得此结果的便捷帮助。