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

相关文章
相关标签/搜索