Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果从UI线程以外的线程调用BindingOperations.EnableCollectionSynchronization,会发生什么情况?_C#_Wpf_Multithreading_Data Binding - Fatal编程技术网

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线程调用它会发生什么?

可能的副作用是什么?

如果你试一下会发生什么?你得到了。我试过了,但没有明显的反应。我的装订似乎正常。