UWP ListView嵌套ListView

来源:互联网 时间:2017-08-04

要求:加载全部的订单,每个订单里面有一个或者多个产品,在列表中要展现出来,

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小白,请多指教!!

 

相关阅读:
Top