欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

UWP ListView嵌套ListView

程序员文章站 2022-06-16 10:28:55
要求:加载全部的订单,每个订单里面有一个或者多个产品,在列表中要展现出来, 1. xaml界面 步骤:1.这里使用的是x:bind绑定所以要引入实体类命名空间(OrderList集合中类的命名空间): xmlns:order="using:GemallApp.Core.Models" 2.

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

1. xaml界面

UWP  ListView嵌套ListView

步骤: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>();
 
           UWP  ListView嵌套ListView

 

            第二步:将返回的数据进行一一赋值给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  ListView嵌套ListView

 

uwp小白,请多指教!!