public override async Task LoadAsync() { try { Ocupado = true; this.Pokemons = new ObservableCollection <PokemonModel>(new List <PokemonModel> { new PokemonModel { Name = "x", Id = 1, Ocupado = true }, new PokemonModel { Name = "x", Id = 2, Ocupado = true }, new PokemonModel { Name = "x", Id = 3, Ocupado = true }, new PokemonModel { Name = "x", Id = 4, Ocupado = true }, new PokemonModel { Name = "x", Id = 5, Ocupado = true } }); await Task.Delay(2500); var pokemonsAPI = await _pokemonService.GetPokemonsAsync(6); List <PokemonModel> pokemonsList; Pokemons.Clear(); pokemonsList = pokemonsAPI.Select(ObjectConverter.CastModel <PokemonModel>).ToList(); for (int i = 0; i < pokemonsList.Count(); i++) { pokemonsList[i].Image = _pokemonService.GetImageStreamFromUrl(pokemonsList[i].Sprites.FrontDefault.AbsoluteUri); } this.Pokemons = new ObservableCollection <PokemonModel>(pokemonsList); } catch (Exception ex) { Debug.WriteLine("Erro", ex.Message); } finally { Ocupado = false; } }