Asynchronous BindingOperations.EnableCollectionsWinRT中的同步

Asynchronous BindingOperations.EnableCollectionsWinRT中的同步,asynchronous,windows-runtime,observablecollection,Asynchronous,Windows Runtime,Observablecollection,我正在编写一个Windows8商店应用程序,其中我有一个视图模型,其中包含一个相当大的可观察集合。每隔一段时间,我们就会从模型中得到一个事件,它会导致我们启动一个相当长的过程来更新可观察的集合。它工作得很好,只是当前进程正在UI线程中运行,并且锁定UI几秒钟,这对于UI开发来说是一个非常糟糕的实践 我想将繁重的计算转移到一个任务中,以便在不阻塞UI的情况下进行计算,并在UI线程上一次更新一个可观察集合。在WPF中,有一种机制允许使用视图模型构造函数中的以下代码精确执行此操作: var myLoc

我正在编写一个Windows8商店应用程序,其中我有一个视图模型,其中包含一个相当大的可观察集合。每隔一段时间,我们就会从模型中得到一个事件,它会导致我们启动一个相当长的过程来更新可观察的集合。它工作得很好,只是当前进程正在UI线程中运行,并且锁定UI几秒钟,这对于UI开发来说是一个非常糟糕的实践

我想将繁重的计算转移到一个任务中,以便在不阻塞UI的情况下进行计算,并在UI线程上一次更新一个可观察集合。在WPF中,有一种机制允许使用视图模型构造函数中的以下代码精确执行此操作:

var myLock = new object();
var myList = new ObservableCollection<ItemType>();
BindingOperations.EnableCollectionSynchronization(myList, myLock);
var myLock=new object();
var myList=新的ObservableCollection();
BindingOperations.EnableCollectionSynchronization(myList,myLock);
然后将每个更新包装到锁块中的可观察集合。我尝试在WinRT中执行相同的操作,但BindingOperations似乎没有此方法

在WinRT中有没有可以接受的最佳实践来完成同样的事情

Thnx