public ResultWindow(ITournament tournament) { InitializeComponent(); this.tournament = tournament; tournamentController = ApplicationController.getTournamentController(); source = ApplicationController.getProvider(); foreach (var round in tournament.Rounds) { roundSelectComboBox.Items.Add("Round " + round.RoundNum); } tournament = tournamentController.reSeedTournament(tournament); tournament.TournamentEntries = tournament.TournamentEntries.OrderByDescending(x => x.Seed).ToList(); populateDataGrid(tournament.Rounds[0].Matchups); var placingColumn = resultDataGrid.Columns[2]; resultDataGrid.Items.SortDescriptions.Add(new SortDescription(placingColumn.SortMemberPath, ListSortDirection.Ascending)); initalize = false; //Otherwise RoundSelectComboBox_SelectionChanged would be called twice }