C#4.0 .net 4和WPF UI更新

Avi*_*rix 1 wpf .net-4.0 c#-4.0

我正在尝试构建一个应用程序来处理类似于网站的Twitter,而我正在尝试解决的问题是 - 我如何使用后台工作者更新UI并且只添加显示最新帖子(推文如果你愿意的话) )在包裹面板的顶部,而不删除已经存在的?

在我之前的尝试中,我通过将推文/帖子存储在本地SQlite数据库中然后检索最后10个帖子来导致UI冻结一点并重新加载所有帖子.

有任何想法吗 ?

Ree*_*sey 5

由于您使用的是WPF,因此非常简单.

只需将您的"帖子"存储在ObservableCollection<T>.然后,您只需在列表的前面插入新项目即可.如果你将它绑定到ItemsCollection控件,WPF将正确处理重绘所有内容.

除非你有很多元素,否则它会很好用,而且相当快.我先尝试一下(因为它很容易实现),如果你发现它有性能问题,只能尝试更"聪明".我怀疑你会遇到问题,只要你使用正确的集合,因为WPF的数据绑定到ObservableCollection非常快.