C# 如果从UI线程以外的线程调用BindingOperations.EnableCollectionSynchronization,会发生什么情况?
关于C# 如果从UI线程以外的线程调用BindingOperations.EnableCollectionSynchronization,会发生什么情况?,c#,wpf,multithreading,data-binding,C#,Wpf,Multithreading,Data Binding,关于BindingOperations.EnableCollectionSynchronization方法,声明如下: 在多个线程上使用集合,其中一个线程是UI线程 拥有ItemsControl的应用程序具有以下功能 职责: 选择一种同步机制 使用同步应用程序对集合的所有访问 这一机制 调用EnableCollectionSynchronization以通知WPF该机制 调用必须发生在UI线程上。 调用必须在其他线程上使用集合之前发生 或者在将集合附加到ItemsControl之前,以 稍后 调
BindingOperations.EnableCollectionSynchronization
方法,声明如下:
在多个线程上使用集合,其中一个线程是UI线程
拥有ItemsControl的应用程序具有以下功能
职责:
选择一种同步机制
使用同步应用程序对集合的所有访问
这一机制
调用EnableCollectionSynchronization以通知WPF该机制
调用必须发生在UI线程上。
调用必须在其他线程上使用集合之前发生
或者在将集合附加到ItemsControl之前,以
稍后
调用EnableCollectionSynchronization(IEnumerable,Object)重载
如果使用简单的锁定机构;打电话给
EnableCollectionSynchronization(IEnumerable、Object、,
CollectionSynchronizationCallback)如果使用更复杂的
机制
特别是它说“调用必须发生在UI线程上。”
我的问题是如果不从UI线程调用它会发生什么?可能的副作用是什么?如果你试一下会发生什么?你得到了。我试过了,但没有明显的反应。我的装订似乎正常。