似乎微软对ObservableCollection有一个好主意。它们非常适合绑定,并且在UI上非常快。
但是,每次要调整它时需要上下文切换到Dispatcher Thread看起来有点像。有谁知道使用它们的最佳实践?是否只是将ICollection填充为业务层中的消息对象,然后在UI层中创建ObservableCollection?然后,您如何处理UI上的集合更新?
答案 0 :(得分:2)
更新UI线程上的ObservableCollection真的会给你的应用程序造成很大的瓶颈吗?如果没有,请坚持在UI线程上更新它。请记住,当您使用Dispatcher运行某些内容时,并不是真正的上下文切换 - 相反,您只是将作业提交到UI线程,这是一个已经运行的线程,操作系统将在某个时刻切换到某个位置。 。 UI线程将提交的作业从内部队列中拉出并执行它。你不是自己强迫上下文切换。
答案 1 :(得分:1)
您也可以在WPF中使用旧的BackgroundWorker(如在Windows窗体中)。它将采用WPF的线程模型,并提供一个很好的抽象。