async void HandleRacePicker_SelectedItemChanged(object sender, EventArgs e) { if (raceCollection?.races != null) { if (RacePicker.SelectedIndex >= 0 && RacePicker.SelectedIndex < raceCollection.races.Length) { Models.Race race = raceCollection.races[RacePicker.SelectedIndex]; await PopulateResultsListAsync(race); } } }
async Task PopulateResultsListAsync(Models.Race race) { string url = string.Format(RACES_RESULTS_URL_FORMAT, race.id); string json; using (var client = new WebClient()) { json = await client.DownloadStringTaskAsync(url); } Models.RaceResultCollection results = Newtonsoft.Json.JsonConvert.DeserializeObject <Models.RaceResultCollection>(json); ResultsList.ItemsSource = results.results; }