对于列表控件,WP8.1常用的是ListView、GridView、ListBox控件。其中前两个是从第三个继承来的。

1、ListView控件

它是展示垂直列表的,如下图所示。它十分适合展示数据。

2、GridView控件

它是行列表展示数据的控件,排列图如下。通常用来展示基于图片的数据。

3、控件的Templates

常用的有HeaderTemplate、FooterTemplate、ItemTemplate。本文最下面有相关代码。

(其中还有ItemContainerStyle、ItemsPanel

4、属性:重新排序Reordering

WP8.1中:MyListView.ReorderMode = ListViewReorderMode.Enabled;

Win8.1中:MyListView.CanReorderItems = false;

但Grouped Lists (分组列表)不能重新排序。

5、属性:多种选定MultiSelection

当开启MultiSelection后,列表会变为下图。开启MultiSelection代码为:MyListView.SelectionMode =  ListViewSelectionMode.Multiple;

6、运用实例:

xaml代码:

        <Grid Grid.Row="1" x:Name="ContentRoot" Margin="19,9.5,19,0"><ListView Name="view1"SelectionMode="None"AllowDrop="True"CanDragItems="True"IsSwipeEnabled="True"><ListView.HeaderTemplate><DataTemplate><StackPanel><Canvas Height="15" Background="#962381E0"><TextBlock Text="header"><TextBlock.Foreground><LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"><GradientStop Color="Black" Offset="0"/><GradientStop Color="#FFF9F5F5" Offset="1"/></LinearGradientBrush></TextBlock.Foreground></TextBlock></Canvas></StackPanel></DataTemplate></ListView.HeaderTemplate><ListView.ItemTemplate><DataTemplate><StackPanel Orientation="Horizontal"><TextBlock Text="{Binding Id}" Style="{ThemeResource ListViewItemTextBlockStyle}" Width="100"/><TextBlock Text="{Binding Name}"  Style="{ThemeResource ListViewItemTextBlockStyle}"/></StackPanel></DataTemplate></ListView.ItemTemplate><ListView.FooterTemplate><DataTemplate><TextBlock Foreground="Red" Text="这是个学习的好例子"/></DataTemplate></ListView.FooterTemplate></ListView></Grid></Grid><Page.BottomAppBar><CommandBar><CommandBar.SecondaryCommands><AppBarButton Label="appbarbutton"/></CommandBar.SecondaryCommands><AppBarButton Name="AllApps" Icon="AllApps" Label="多选" Click="AllApps_Click"/><AppBarButton Name="viewall" Icon="ViewAll" Label="appbarbutton" Click="viewall_Click"/></CommandBar></Page.BottomAppBar>

相应的部分C#代码:

 List<School> items = new List<School>();public string[] str=new string[]{"华农","华工","中大","华师","暨大","广工","广外","广大","深大","广中医","南医大"};Random random = new Random();for (int i = 0; i < 100; i++){items.Add(new School { Id = i, Name = str[random.Next(0,10)] });}this.view1.ItemsSource = items;...private void AllApps_Click(object sender, RoutedEventArgs e){if (view1.SelectionMode == ListViewSelectionMode.Multiple){view1.SelectionMode = ListViewSelectionMode.Single;}elseview1.SelectionMode = ListViewSelectionMode.Multiple;}private void viewall_Click(object sender, RoutedEventArgs e){if ( view1.ReorderMode == ListViewReorderMode.Enabled){view1.ReorderMode = ListViewReorderMode.Disabled;}elseview1.ReorderMode = ListViewReorderMode.Enabled;}private void gotopage2_Click(object sender, RoutedEventArgs e){Frame.Navigate(typeof(Page2));}}

---------------------------------------------------------------------------------------------------------------------------------------------

2015年2月26号添加

一、ListView或GridView控件的GroupStyle

使用GroupStyle属性可以更好为App展示数据,效果图如下:

这种样式十分容易弄出来,步骤如下:

step1:

1 在Page.Resoures添加
2 <CollectionViewSource x:Name="collectionItems" IsSourceGrouped="True" Source="{Binding Items}" ItemsPath="Codes"/>

step2:

添加GroupStyle
<ListView Name="listCode" ItemClick="listViewCode_ItemClick" ItemsSource="{Binding Source={StaticResource collectionItems}}" ItemTemplate="{StaticResource StandardTripleLineItemTemplate}"IsItemClickEnabled="True"><ListView.GroupStyle><GroupStyle><GroupStyle.HeaderTemplate><DataTemplate><Grid><Border Opacity="0.8" Width="350" CornerRadius="0,30,30,0" Background="{StaticResource MyFavoriteBrush}"><TextBlock Text="{Binding Title}" FontSize="30" Padding="5"/></Border></Grid></DataTemplate></GroupStyle.HeaderTemplate></GroupStyle></ListView.GroupStyle></ListView>

即可

ps:collectionItems绑定的数据格式可参考https://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh780627.aspx?f=255&MSPPError=-2147217396

还可以使用SemanticZoom控件加强用户体验,demo地址:https://msdn.microsoft.com/zh-cn/library/windows/apps/xaml/hh781234

转载于:https://www.cnblogs.com/NEIL-X/p/4149522.html

wp8.1 Study7: ListView 和GridView应用相关推荐

  1. ListView和GridView的一些杂七八杂的内容

    2019独角兽企业重金招聘Python工程师标准>>> 今天加了一天班,算是做编程以来的第一次,也是正式工作以来最心甘情愿的一次,希望能开启勤奋模式,努力学习! 最近公司在做andr ...

  2. android listView嵌套gridview的使用心得

    在开发的过程中可能需要用到listview嵌套gridview的场景,但是在Android中, 不能在一个拥有Scrollbar的组件中嵌入另一个拥有Scrollbar的组件,因为这不科学,会混淆滑动 ...

  3. Flutter中用ListView嵌套GridView报错异常

    Flutter中用ListView嵌套GridView报错异常 参考文章: (1)Flutter中用ListView嵌套GridView报错异常 (2)https://www.cnblogs.com/ ...

  4. Android SimpleAdapter显示ListView、GridView

    SimpleAdapter作为一个数据集,主要向ListView.GridView容器填充数据,总结了几种填充方式,原理很简单,直接看代码和效果图 1. ListView单行显示(simple_lis ...

  5. 如何让listview或者gridview设置到底刷新新数据

    昨天简单的看了一下ScrollView的例子,虽然可以实现拉到底触发监听,但是Listview和gridview本身就自带了下拉属性,所以不需要ScrollView来实现. 那么在Listview和g ...

  6. ListView和GridView的缓存机制及measure过程

    目录 前言 1.View的Transient状态 2.RecycleBin 3.obtainView 4.getView的调用 5.GridView的onMeasure 6.ListView的onMe ...

  7. ScrollView内嵌ListView或GridView的滑动处理

    开发过程中经常会遇到使用scrollview嵌套listview或gridview的情况,这时由于scrollview拦截消费了滑动事件,所以在listview或gridview区域滑动时该区域无法滑 ...

  8. Android中适用于ListView、GridView等组件的通用Adapter

    今天随便逛逛CSDN,看到主页上推荐了一篇文章Android 高速开发系列 打造万能的ListView GridView 适配器,刚好这两天写项目自己也封装了相似的CommonAdapter,曾经也在 ...

  9. android中ScrollView嵌套ListView或GridView显示位置问题

    Android中ScrollView中嵌套ListView或GridView时在开始进入界面时总是显示中间位置,开头的位置显示不出来.这种情况下只需要在ScrollView的父控件中添加以下两行代码即 ...

最新文章

  1. 服务器响应码302,ajax与302响应代码测试 详细出处参考:http://www.jb51.net/article/42327.htm...
  2. 如何扩展CentOS7的SWAP分区
  3. 使用Cocoapods快速创建自己的podspec,让你的框架支持cocoapods,podspec
  4. android传输注册数据异常,android数据传值再获取的问题
  5. Python 人脸识别就多简单,看这个就够了!
  6. JVM 自定义的类加载器的实现和使用
  7. ​瑞幸员工如何作假22亿,怎样用技术防止财务造假?
  8. SpringBoot整合jersey
  9. 【转】完美:photoshop cs6 破解版下载[序列号+破解补丁+破解教程+官方原版]
  10. Vue 大量数据展示卡顿解决方案(长列表优化)
  11. win10永久关闭自动更新方法
  12. Flask实现JWS身份校验
  13. 苹果笔记本开不了机的解决措施有哪些
  14. 生活中的一些常用理论
  15. TypeScript报错解决-//@ts-ignore
  16. day1——SpringBoot介绍
  17. 忘记计算机网络域名密码,自己家里wifi密码忘记了怎么办?
  18. 使用这45个小技巧,帮助你写出更优雅的代码
  19. 您的计算机无法访问dota2,如何解决Win10系统无法登录dota2的问题?
  20. 爱普生l360扫描仪显示无法连接计算机,爱普生扫描仪打不开出现这个错误请问怎么解决阿...

热门文章

  1. Apache Beam和BigQuery的错误处理(Java SDK)
  2. 小豆包的学习之旅:里程计运动模型
  3. jquery学习之重要知识点
  4. 转: C语言中位运算符异或“∧”的作用
  5. BZOJ 3240([Noi2013]矩阵游戏-费马小定理【矩阵推论】-%*s-快速读入)
  6. Javascript基础与面向对象基础~第六讲 Javascript中的事件机制
  7. 分享:Python fabric实践操作
  8. 自定义ListView【通用】适配器并实现监听控件
  9. LWIP源码结构分析
  10. svn: E200009