c# - 在 xaml 视图上绑定单个 json 结果
问题描述
我无法绑定单个 json 结果以查看。在 Xaml 上绑定到 List View 没有问题。任何人都可以帮我将 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 资源的图像、名称到标签等等。
我可以毫不费力地将它们全部加载为列表。
解决方案
你能显示 XAML 文件吗?我的猜测是:您正在尝试绑定到Livenow
. 我假设它是 List 或 IList。改成ObservableCollection
这样
var listOfcelebritiesList = await _apiServices.GetAllLiveNowAsync(accessToken);
if(celebrityList!=null)
{
Livenow = new ObservableCollection(listOfcelebritiesList);
}
确保名人列表不为空或为空。如果它已填满并且您将 ListView 源绑定到 Livenow 并将其中的单元格绑定到 CelebrityList,那么我认为应该这样做。
推荐阅读
- android - Android Studio 3.2 中是否删除了 textAlignment 属性?
- mysql - 如何按 created_date 和 updated_date 对数据进行排序
- python - 尝试从 iPython 运行脚本时出现语法错误
- javascript - 如何在同一个 node.js 文件中使用 mongo changestreams 和 ws websockets?
- ios - 使 touchesBegan 方法适用于特定视图/图像
- javascript - react-router-dom 使用 create-react-app 热重载
- regex - 正则表达式查找至少包含 3 个特定字符的所有单词
- javascript - Mobx中的api如何既是方法调用又是装饰方法?
- memory-management - 为什么 TLB 未命中次数不等于缺页次数
- angular - 如何在Angular 4+中更新地图现有键的值