我收到JSON API的响应,并将其在我的代码中映射到对象。 对象结构如下:
public class A {
public B b;
public C c;
public D d;
}
public class B{
public string a;
public string b;
}
...
public class D{
public F[] f;
}
public class F{
public string c;
public string d;
public string e;
}
我将绑定设置为Observable Collection <A> aCollection
,并且工作正常。我有一些A对象,可以像这样访问所有成员。
<ListView ItemsSource="{Binding aCollection}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Label Text="{Binding b.a, TargetNullValue='-'}"/>
<Label Text="{Binding c.a, TargetNullValue='-'}"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
但是我不知道如何访问数组F []和F的成员。而且我也不预先知道数组将有多大。
我要实现的是显示数组中与包含的对象A有关的每个条目。
希望这个问题有意义。
答案 0 :(得分:0)
如果要将Array数据绑定到listview中的每个单元格中,请根据您的代码进行如下修改:
<ListView ItemsSource="{Binding aCollection}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Label Text="{Binding b.a, TargetNullValue='-'}"/>
<Label Text="{Binding c.a, TargetNullValue='-'}"/>
//***
<ListView ItemsSource="{Binding d.F}">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Entry Text="{Binding c}"/>
<Entry Text="{Binding d}"/>
<Entry Text="{Binding e}"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
//***
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
使用listview包含一个用于显示数据等的listview.D类更改为
public class {
public List<F> f{ get; set; }
}
不确定是否要,希望有用。