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