Xamarin绑定属性找不到求助:CollectionView无数据显示
解决Xamarin.Forms绑定找不到属性的问题
嘿,我一眼就看出问题所在了——你的MenuHandle类里定义的都是字段(Field),但Xamarin.Forms的数据绑定只能识别属性(Property),这就是控制台一直报找不到Name、Description这些成员的原因!
核心问题
数据绑定引擎在查找绑定目标时,只会扫描带有get访问器的属性,而不会直接读取类的字段。你现在的MenuHandle里全是字段定义,比如:
public string Name; // 这是字段,不是属性
解决方案
把MenuHandle里的所有字段改成标准的C#属性就行,保留JsonProperty特性不影响序列化:
public class MenuHandle { [JsonProperty("name")] public string Name { get; set; } [JsonProperty("url_name")] public string URLName { get; set; } [JsonProperty("description")] public string Description { get; set; } [JsonProperty("image")] public Uri ImageURI { get; set; } }
额外提示
如果后续你需要在修改MenuHandle的属性值时自动更新UI,可以让MenuHandle实现INotifyPropertyChanged接口,不过就当前的展示需求来说,上面的修改已经足够解决绑定找不到属性的错误了。
改完之后,你的CollectionView应该能正常加载内容,那些测试用的Label绑定也不会再报错啦!
内容的提问来源于stack exchange,提问作者Jex__y
相关产品推荐
相关产品推荐

