要求:加载所有的订单,每一个订单里面有一个或者多个产品,在列表中要展示出来,数据结构
1. xaml界面spa

步骤:1.这里使用的是x:bind绑定因此要引入实体类命名空间(OrderList集合中类的命名空间):
xmlns
:
order
="using:GemallApp.Core.Models"
2.
<ListView Grid.Row="2"
x:Name="lvOrderList" ItemsSource="{x:Bind OrderList,Mode=OneWay}" SelectionMode="None" >
<ListView.ItemTemplate>
<DataTemplate
x:DataType
="order:Order">
<!--里面的ListView-->
<ListView Grid.Row="1"
x:Name="lvGoodList" ItemsSource="{x:Bind GoodsList,Mode=OneWay}" ItemClick="lvGoodList_ItemClick" IsItemClickEnabled="True" SelectionMode="None">
<ListView.ItemTemplate>
<!--指定GoodsList是Goods的集合-->
<DataTemplate
x:DataType
="order:Goods" >
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
<!--里面的ListView-->
</DataTemplate >
</ListView.ItemTemplate>
2.后台:
第一步:属性成员
///
<summary>
///
绑定ListView的集合
///
</summary>
ObservableCollection
<
Order
> OrderList {
get
;
set
; } =
new
ObservableCollection
<
Order
>();
第二步:将返回的数据进行一一赋值给OrderList
foreach
(
Order
item
in
respOrder.OrderInfo.OrderList)
{
OrderList.Add(item);
//给集合赋值,不能直接给OrderList=respOrder.OrderInfo.OrderList赋值,这样在页面是显示不出来数据的
}
第三步:OrderList的数据结构:
{
///
<summary>
///
///
</summary>
public
string
LastId {
get
;
set
; }
///
<summary>
/// 最外层集合
///
</summary>
public
ObservableCollection
<
Order
> OrderList {
get
;
set
; }
}
public
class
Order
{
///
<summary>
///
商品集合(里面的集合)
///
</summary>
public
ObservableCollection
<
Goods
> GoodsList {
get
;
set
; }
///
<summary>
///
订单状态+关闭状态
///
</summary>
public
string
OrderStatusAndClose {
get
;
set
; }
///
<summary>
///
关闭类型
///
</summary>
public
string
CloseType {
get
;
set
; }
}
效果以下:
uwp小白,请多指教!!3d