如何启用对集合的线程安全访问

How to enable thread-safe access to a collection

ObservebleCollection<T> 绑定到 UI 控件时,如果它在多个线程上使用,则很难向集合添加项目(或从中删除项目)。

为了避免这个问题,BindingOperations.EnableCollectionSynchronization可用于WPF,BindingBase.EnableCollectionSynchronization也可用于Xamarin.Forms。

UWP 中是否有与这些有用方法等效的方法?如果不是,如何启用对绑定到 UI 的 ObservebleCollection<T> 的线程安全访问?

不幸的是,没有这样的方法可以同步访问在 UWP 平台内的多个线程上使用的集合。您只能在 dispatcher 线程中更新数据绑定的 ObservableCollection。

await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
  // Update  ObservableCollection
});