private async Task Update(Database db) { var buildItems = await db.GetChangedBuildItemsAsync(); await Dispatcher.BeginInvoke((Action)(() => { ((MainWindowViewModel)DataContext).IsReady = true; ((MainWindowViewModel)DataContext).IsDone = false; ObservableCollection<BuildItemViewModel> itemsCollection = new ObservableCollection<BuildItemViewModel> (buildItems.Select(x => new BuildItemViewModel(x, Dispatcher))); ((MainWindowViewModel)DataContext).Items = itemsCollection; })); }