0

我是新的 WP7.1。我正在开发聊天应用程序,其中有像朋友一样的屏幕,在那个屏幕上它就像有 1000 多个朋友一样,我们使用 sqlite 绑定到 longlistselector。

主要问题是,我们有一个 API 用于调用朋友的更新,例如(显示名称、头像等),我正在处理 API 数据并将数据绑定到 longlistselector,在绑定时,我无法滚动 longlistselecor 和屏幕上的任何其他按钮。

我正在使用 Deployment.Current.Dispatcher.BeginInvoke(() => { Binding to }); 绑定数据 和 Dispatcher.BeginInvoke(() => { Binding to }) 和 BackgroundWorker (我尝试了很多方法)。

请建议任何解决方案绑定而不干扰用户界面。

提前致谢。

——钱德拉

4

1 回答 1

0

每当您在屏幕上推送数据时(无论是通过 XAML {Binding} 还是通过直接访问页面的 UI 元素),都需要在 UI 线程上完成。当 UI 线程忙于处理您的代码或由于您的代码而重绘 UI 时,UI 会冻结。

这意味着您需要使 BeginInvoke() 中的所有内容尽可能简短和高效。但是,您还需要尽可能少地调用 BeginInvoke()。在这些之间找到平衡将决定您的 UI 的体验速度。

在 LongListSelector 的情况下,我发现一次添加 50 个项目是有效的,等待半秒并添加接下来的 50 个项目。你的旅费可能会改变。

于 2012-09-06T07:14:02.833 回答