看起来Microsoft用ObservableCollection想出了一个好主意。它们非常适合绑定,在UI上运行速度超快。
然而,每次想要微调它时都需要切换到Dispatcher线程似乎有点过分。有人知道使用它们的最佳实践吗?是简单地将ICollection作为消息对象在业务层中填充,然后在UI层中创建ObservableCollection吗?那么如何处理UI中对集合的更新呢?
看起来Microsoft用ObservableCollection想出了一个好主意。它们非常适合绑定,在UI上运行速度超快。
然而,每次想要微调它时都需要切换到Dispatcher线程似乎有点过分。有人知道使用它们的最佳实践吗?是简单地将ICollection作为消息对象在业务层中填充,然后在UI层中创建ObservableCollection吗?那么如何处理UI中对集合的更新呢?
在UI线程中更新ObservableCollection是否真的会对您的应用程序造成如此大的瓶颈?如果不是,请继续在UI线程上更新它。请记住,当您使用Dispatcher运行某些内容时,并不会发生真正的上下文切换 - 相反,您只是向已经在运行的UI线程提交作业,这是操作系统将在某个时刻上下文切换到的线程。UI线程从内部队列中取出您提交的作业并执行它。您并没有强制进行上下文切换。