private void TournamentManager_CurrentRaceChanged(int tournamentID, CurrentRaceChangedEventArgs e) { if (!Application.Current.Dispatcher.CheckAccess()) { Application.Current.Dispatcher.Invoke(() => this.TournamentManager_CurrentRaceChanged(tournamentID, e)); } else { if (tournamentID != this.TournamentID) { return; } foreach (EditRaceViewModel race in this.Races) { if (race.RaceNumber == e.CurrentRace.RaceNumber) { race.CurrentRace = true; } else { race.CurrentRace = false; } } } }
private void TournamentManager_CurrentRaceChanged(int tournamentID, CurrentRaceChangedEventArgs e) { if (!Application.Current.Dispatcher.CheckAccess()) { Application.Current.Dispatcher.Invoke(() => this.TournamentManager_CurrentRaceChanged(tournamentID, e)); } else { if (tournamentID != this.TournamentID) { return; } _race = e.CurrentRace; this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(this.CurrentRace))); this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(this.RaceState))); UpdateLanes(_race); } }