要求:加載所有的訂單,每一個訂單裏面有一個或者多個產品,在列表中要展示出來,數據結構
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