Tôi đã chơi thử với các mẫu CTP và MVVM không đồng bộ mới. Tôi đã chuyển đổi một chương trình cũ của tôi đang sử dụng nhân viên nền và báo cáo tiến trình cập nhật bộ sưu tập trong mô hình của tôi. Tôi đã chuyển đổi nó thành một cái gì đó như vậyTask.Run không đồng bộ với MVVM
TaskEx.Run(async() =>
{
while (true)
{
// update ObservableCollection here
}
await TaskEx.Delay(500);
});
Theo quan điểm của tôi, tôi ràng buộc với chế độ xem của tôi hiển thị bộ sưu tập quan sát này. Tuy nhiên, khi bộ sưu tập của tôi cập nhật, tôi nhận được Ngoại lệ
Loại CollectionView này không hỗ trợ các thay đổi đối với SourceCollection của nó từ một chuỗi khác với chuỗi điều phối.
Tôi không chắc chắn cách nào chính xác để kéo quay lại giao diện người dùng khi thực hiện như thế này.
Lưu ý rằng, có phiên bản cập nhật của 'async' trong Visual Studio 11 Developer Preview mà bạn có thể tải xuống. – svick