You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xamarin CollectionView绑定报错:ViewModel中找不到fromICAO属性如何解决

问题原因

这个报错是因为CollectionView的DataTemplate没有指定对应的数据类型,绑定引擎默认将模板内的绑定上下文定位到了页面绑定的ViewModel上,而不是Plans集合内的PlanToFirestoreModel元素,所以找不到fromICAO等属于Model类的属性。

解决方法

第一步:添加Model命名空间引用

在你的XAML页面根标签(比如ContentPage标签)里,添加你PlanToFirestoreModel所在的命名空间引用,示例如下:

<ContentPage 
    ... 其他原有属性
    xmlns:models="clr-namespace:你的项目名.Model类所在的命名空间">

请将你的项目名.Model类所在的命名空间替换为你实际项目中PlanToFirestoreModel对应的命名空间路径。

第二步:给DataTemplate指定DataType

修改DataTemplate标签,添加x:DataType属性指定模板绑定的实体类型:

<DataTemplate x:DataType="models:PlanToFirestoreModel">
    <!-- 原有模板内的代码保持不变 -->
</DataTemplate>

修改完成后重新编译运行即可解决绑定报错问题。

其他可选检查项

  • 确认你的页面BindingContext已经正确绑定到PlansViewModel的实例,你提到已经可以识别Plans集合,该项一般不需要额外调整。
  • 你当前代码中FillData方法用了async void,该写法仅适用于事件处理程序,建议调整为async Task规范写法避免潜在的异常捕获问题。

内容的提问来源于stack exchange,提问作者Mercyfon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:36:02