UWP ListView 显示Grid布局效果


文章转载来自:https://yq.aliyun.com/articles/842 

 

 

还可以像下面这样哦,通过WrapGrid来决定这些Item的摆放方式。

这里写图片描述

 

 

<Grid Name="grid1" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
   <ListView VerticalAlignment="Bottom">
        <ListView.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapGrid Orientation="Vertical" MaximumRowsOrColumns="2"/>
            </ItemsPanelTemplate>
        </ListView.ItemsPanel>
        <Rectangle Height="100" Width="100" Fill="Wheat" />
        <Rectangle Height="100" Width="100" Fill="White" />
        <Rectangle Height="100" Width="100" Fill="Gainsboro" />
        <Rectangle Height="100" Width="100" Fill="Violet" />
        <Rectangle Height="100" Width="100" Fill="DarkBlue" />
        <Rectangle Height="100" Width="100" Fill="RosyBrown" />
        <Rectangle Height="100" Width="100" Fill="SaddleBrown" />
        <Rectangle Height="100" Width="100" Fill="AliceBlue" />
        <Rectangle Height="100" Width="100" Fill="Fuchsia" />
        <Rectangle Height="100" Width="100" Fill="Aqua" />
        <Rectangle Height="100" Width="100" Fill="Tan" />
    </ListView>
</Grid>

 

 或者


 <ListView Name="listView" ItemsSource="{Binding}" Background="WhiteSmoke" SelectionChanged="listView_SelectionChanged" SelectionMode="Single">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="{Binding title}"></TextBlock>
                        <Image Width="90"  Height="90" Source="{Binding picUrl}"></Image>
                    </StackPanel>
                </DataTemplate>
                
            </ListView.ItemTemplate>
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <ItemsWrapGrid ItemWidth ="444" MaximumRowsOrColumns="8" Orientation="Horizontal"></ItemsWrapGrid>
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
        </ListView>

 

     注意上面红色的属性。还有就是 发现 ItemsWrapGrid  和 WrapGrid 都可做 ItemsPanelTemplate 的内容。。。。

 

  

 绑定数据源:


 ObservableCollection<data> listData = new ObservableCollection<data>();//定义在外边方便增加列表项
 public MainPage()
        {
           this.InitializeComponent();
           listView.  DataContext = listData ;
           bindData();//可随时调用加载更多
        }
        void bindData() {
            listData.Add(new data() { title = "ttttt1", picUrl = "http://www.songshizhao.com/editor/attached/image/20170416/123.jpg20170416115527_9528.jpg" });
            listData.Add(new data() { title = "ttttt1", picUrl = "http://www.songshizhao.com/editor/attached/image/20170416/123.jpg20170416115527_9528.jpg" });

            listData.Add(new data() { title = "ttttt1", picUrl = "http://www.songshizhao.com/editor/attached/image/20170416/123.jpg20170416115527_9528.jpg" });

            listData.Add(new data() { title = "ttttt1", picUrl = "http://www.songshizhao.com/editor/attached/image/20170416/123.jpg20170416115527_9528.jpg" });

            listView.ItemsSource = listData;
          
        }

 

   选择某行的事件 SelectionChanged


      private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            new MessageDialog(""+(e.AddedItems[0] as data).picUrl).ShowAsync();
        }

 

 数据类:
public  class data {
        public string title { get; set; }
        public string picUrl { get; set; }
    }

 

 

 

 

转载于:https://www.cnblogs.com/wgscd/articles/7717357.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值