Привязка одного результата JSON в представлении XAML - PullRequest
0 голосов
/ 31 марта 2019

У меня проблемы с привязкой одного результата json к просмотру. Нет проблем с привязкой к представлению списка в Xaml. Может ли кто-нибудь помочь мне связать отдельные значения результата Json с xaml.

My Json Result

{
    "id": "37",
    "full_name": "Priyanka",
    "celeb_id": "37",
    "profile_pic_1": "http://192.168.1.6/yoyo/uploads/form_celebrity_assets/20190316182711-2019-03-16form_celebrity_assets182607.jpg",
    "profile_pic_2": "20190316182711-2019-03-16form_celebrity_assets182616.jpg",
    "profile_pic_3": "20190316182711-2019-03-16form_celebrity_assets182624.jpg"
}

Вот моя модель

public partial class CelebrityList
{
    public string id { get; set; }
    public string full_name { get; set; }
    public string profile_pic_1 { get; set; }
    public string profile_pic_2 { get; set; }
    public string profile_pic_3 { get; set; }
    public string Likes { get; set; }
}

Вот мои сервисы для вызова API

public async Task<List<CelebrityList>> GetAllLiveNowAsync(string accessToken)
    {
        accessToken = CrossSecureStorage.Current.GetValue("AccessToken");
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add("X-Api-Key", "659D35BF572E789B3A0400F8C6F76D86");
        client.DefaultRequestHeaders.Add("X-Token", accessToken);

        var json = await client.GetStringAsync(Constants.BaseApiAddress + "celebrity_merge_user_with_assets/all");
        Debug.Write(json);
        var livenow = JsonConvert.DeserializeObject<List<CelebrityList>>(json);
        Debug.Write(livenow);
        return livenow;
    }

Мой взгляд Модель

private async Task GetList()
    {
        IsRefreshing = true;

        var accessToken = Settings.AccessToken;
        Livenow = await _apiServices.GetAllLiveNowAsync(accessToken);

        IsRefreshing = false;
    }

Мне просто нужно привязать результат в xaml к различным элементам, например, к изображению, привязанному к ресурсу ffimageloading, от имени к метке и т. Д.

У меня нет проблем с загрузкой всех их в виде списка.

1 Ответ

0 голосов
/ 31 марта 2019

Можете ли вы показать файл XAML? Я предполагаю, что вы пытаетесь связать с Livenow. Я предполагаю, что это либо список, либо IList. Измените его на ObservableCollection вот так

var listOfcelebritiesList = await _apiServices.GetAllLiveNowAsync(accessToken);
if(celebrityList!=null)
{
    Livenow = new ObservableCollection(listOfcelebritiesList);
}

Убедитесь, что celebrityList не является нулевым или пустым. Если он заполнен, и вы связали источник ListView с Livenow, а ячейки внутри с CelebrityList, то я думаю, что это следует сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...