要求:載入全部的訂單,每個訂單裡面有一個或者多個產品,在列表中要展現出來, 1. xaml界面 步驟:1.這裡使用的是x:bind綁定所以要引入實體類命名空間(OrderList集合中類的命名空間): xmlns:order="using:GemallApp.Core.Models" 2. <Lis ...
要求:載入全部的訂單,每個訂單裡面有一個或者多個產品,在列表中要展現出來,
1. xaml界面
步驟: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的數據結構: public class OrderInfo { /// <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小白,請多指教!!