private static void OnInvalidateCachedData(object sender, InvalidateCachedDataEventArgs e) { Task.WaitAll( Task.Run(delegate { foreach (var uid in e.UsersChanged) { users.Remove(uid); usersCompleted.Remove(uid); userParticipationRowIds.Remove(uid); } }), Task.Run(delegate { foreach (var wName in e.WeaponsChanged) { weapons.Remove(wName); completedWeapons.Remove(wName); } }), Task.Run(delegate { foreach (var mName in e.MapsPlayed) { if (gameMapRowIds.TryGetValue(mName, out var mapRowId)) { gameMapRowIds.Remove(mName); gameMaps.Remove(mapRowId); } } }));
private void OnInvalidateCachedData(object sender, InvalidateCachedDataEventArgs e) { this.BeginInvoke(delegate { CollectionViewSource.GetDefaultView(WeaponListViewWeapons.ItemsSource).Refresh(); CollectionViewSource.GetDefaultView(UserGamesViewGames.DataGridGames.ItemsSource).Refresh(); CollectionViewSource.GetDefaultView(MapsView.Maps).Refresh(); }); }