在单独的线程中更新ObservableCollection
在WPF应用程序中,LINQ将ObservableCollection填充并更新为SQL查询。然后,使用此ObservableCollection中的值更新UI对象。
通过LINQ将此ObservableCollection更新为SQL查询的操作是否在单独的线程中执行是否可能并且合理?
如果是,在这种情况下,它将是此ObservableCollection的一个实例吗?(我的意思是,如果从LINQ
datacontext获取值与提供值以更新UI的方式不同,那么我将无法更新UI)
回答:
使用内置ObservableCollection<T>
类,如果将UI绑定到集合,则不能从单独的线程更改内容,它会引发NotSupportedException
(但是,关于集合项属性的更改通知可以正常工作)。我编写了一个AsyncObservableCollection<T>
类来处理这种情况。它通过在UI同步上下文上调用事件处理程序来工作
以上是 在单独的线程中更新ObservableCollection 的全部内容, 来源链接: utcz.com/qa/413109.html