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

MAUI XAML中如何访问嵌套类的成员?

解决MAUI中嵌套类成员的XAML绑定问题

问题根源

你的Result是Data类的嵌套类,在XAML中引用嵌套类需要使用特定语法,同时要确保绑定的集合类型与嵌套类匹配。

解决步骤

  1. 确认XAML命名空间引用正确
    在XAML根元素(如ContentPage)中添加对应命名空间的引用:

    xmlns:model="clr-namespace:JsonData.Model"
    
  2. 正确指定嵌套类的x:DataType
    XAML中引用嵌套类需要用+连接外层类与嵌套类,所以DataTemplate的x:DataType应写为:

    <DataTemplate x:DataType="model:Data+Result">
    

    你之前尝试的model:Result是错误写法,因为Result并非顶级类,而是Data的内部嵌套类。

  3. 验证集合类型匹配
    确保ViewModel中的Results集合类型为ObservableCollection<Data.Result>,而非ObservableCollection<Data>:

    public ObservableCollection<Data.Result> Results { get; set; } = new();
    

修改后的完整XAML示例

<CollectionView ItemsSource="{Binding Results}">
    <CollectionView.ItemTemplate>
        <DataTemplate x:DataType="model:Data+Result">
            <HorizontalStackLayout>
                <Button Text="{Binding Name}" />
            </HorizontalStackLayout>
        </DataTemplate>
    </CollectionView.ItemTemplate>
</CollectionView>

额外排查点

如果问题仍存在,检查以下内容:

  • 确认Result类的Name属性为公共访问级别(你的代码已满足)
  • 验证页面的BindingContext已正确指向包含Results集合的ViewModel

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:57:18