国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php框架 > 框架设计 > 最强扩展GridView控件―为内容项添加拖放及分组功能

最强扩展GridView控件―为内容项添加拖放及分组功能

来源:程序员人生   发布时间:2016-04-06 07:51:20 阅读次数:3009次

引言

相信大家对GridView都不陌生,是非常有用的控件,用于平铺有序的显示多个内容项。打开任何WinRT利用或是微软合作商的网站,都会在APP中发现GridView的使用。“Tiles”提供了1个简单易用,平铺方式来组织内容显示。Windows8的开始菜单是最典型的GridView 示例。“开始菜单”显示了系统中安装的所有利用程序,而且支稳重新排列。

本文源于我们项目的开发人员,他们想在项目中提供与GridView相同的用户体验,想要创建类GridView控件。

GridView 可以显示大小不定的内容项,并且以有序的方式显示。如果各个内容项无序,并且内容尺寸大小相同,GirdView还支持拖拽操作。但是,这些功能其实不是默许提供的,需要编写1定的代码才能实现。

本文主要介绍了扩大GridView控件――称为GridViewEx, GridViewEx主要实现GridView在不同大小的内容项中的拖拽功能。

背景

首先了解GridView的基本属性和功能,GridView包括1些属性集和 ItemTemplate。为了实现通过拖拽操作履行重排列功能,必须完成以下3件事:

1. 设置AllowDrop属性为true;

2. 设置CanReorderItems 属性值为True;

3. 绑定数据源,该数据源必须支持数据修改或支稳重排序。例如,使用ObservableCollection或IList数据源。

<GridView ItemsSource="{Binding}" AllowDrop="True" CanReorderItems="True"> <GridView.ItemTemplate> <DataTemplate> <Border BorderBrush="Aqua" BorderThickness="1" Background="Peru"> <Grid Margin="12"> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="Auto"/>
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生