UWP ListView嵌套ListView

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

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的數據結構:
 
    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小白,請多指教!!3d

相關文章
相關標籤/搜索