我在绑定单个json结果以查看时遇到麻烦。绑定到Xaml上的列表视图没有问题。谁能帮我将Json结果的各个值绑定到xaml。
我的Json结果
{
"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资源,将名称命名为标签等等。
我将它们全部加载为列表没有问题。
答案 0 :(得分:0)
可以显示XAML文件吗?我的猜测是:您正在尝试绑定到Livenow
。我假设它是一个List或IList。像这样将其更改为ObservableCollection
var listOfcelebritiesList = await _apiServices.GetAllLiveNowAsync(accessToken);
if(celebrityList!=null)
{
Livenow = new ObservableCollection(listOfcelebritiesList);
}
确保 celebrityList 不为null或为空。如果已填充,并且您将ListView源绑定到Livenow,并将内部的单元格绑定到CelebrityList,则我认为应该这样做。