快速构建Windows 8风格应用5-ListView数据控件
原文:快速构建Windows 8风格应用5-ListView数据控件
本篇博文主要介绍什么是ListView数据控件、如何构建ListView数据控件。
什么是ListView数据控件?
1) ListView数据控件用来显示数据集合。
2) 继承自ItemsControl。
3) 大多数情况是纵向显示数据,显示的数据通常是排序过的。
4) 在切换到Snap View(贴靠视图)时,通常使用ListView显示数据集合。

如何构建ListView数据控件?
首先我们需要了解一下ListView控件中一些重要属性和事件:
1) IsItemClickEnabled属性:获取或设置点击列表项是否会触发Click事件;
2) SelectionMode属性:获取或设置选择的模式;
3) HeaderTemplate属性:获取或设置列表标题的模版,改变标题的外观;
4) GroupStyle属性:获取GroupStyle对象集合,定义每组的外观;
5) SelectionChanged事件:当选择的项改变时触发;
6) ItemClick事件:当点击列表项,并且IsItemClickEnabled属性值为true时,将触发该事件;
另外我们在使用ListView进行数据呈现的时候,需要考虑ListView控件的交互模式:

ListView的SelectionMode属性为枚举类型,其中包含值有:
1) None:没有已选择项;
2) Single:只有一项可选择;
3) Multiple:有多项可选择;
4) Extended:有多项可选择并且选择项可以不连续;
下面我们来看一下几种常用ListView呈现数据的样式效果:
效果一:静态列表。

那么我们如何在应用程序中实现这种ListView样式呢?
XAML代码中:

可以看到ListView控件中ItemTemplate引用了名字为StoreFrontTitleTemplate的静态资源,并且设置SelectionMode值为None。StoreFrontTitleTemplate的静态资源代码如下:

C#代码中将数据绑定到ListView控件上,代码如下:

效果二:点击左侧列表某一项,右侧显示详细信息。

这种效果是点击左边列表中某一项,右边显示该项的详细信息,那么我们如何在代码中实现这种样式效果呢?
首先我们来看左侧列表实现ListView的XAML代码:

其中设置ListView控件的ItemTemplate为名称为MessageListImageTemplate的静态资源,ItemPanel为名称为MessageListItemsPanelTemplate的静态资源。
MessageListImageTemplate静态资源XAML代码如下:

MessageListItemsPanelTemplate静态资源XAML代码如下:

我们了解了如何实现ListView的XAML后,下面来看一下效果图中右侧XAML代码是如何实现的。

其实效果图中右侧定义了一个ScrollViewer控件,它的DataContext属性值设置为ListView的SelectedItem属性。
最后我们在C#代码中将数据绑定到ListView控件上:

效果三:左侧列表只能进行单选,右侧列表可以进行多项选择。
这里我们想实现列表中项能够进行单选或者多选,只需要设置ListView的SelectionMode属性值为Single;Multiple或Extended。
我们可以设置ListView列表中的Header,XAML代码如下:

实现效果:红色框体内是我们设定的ListView控件Hearder。

当然我们也可以将数据在ListView控件进行分组呈现。XAML代码设置如下:

实现效果:红色框体内是我们设定的ListView控件分组。

快速构建Windows 8风格应用5-ListView数据控件的更多相关文章
- 快速构建Windows 8风格应用8-贴靠视图
原文:快速构建Windows 8风格应用8-贴靠视图 本篇博文主要介绍如何切换出贴靠视图.关于贴靠视图的设计.关于贴靠视图的应用程序栏和如何实现贴靠视图. 如何切换出贴靠视图 第一步:水平方向全屏视图 ...
- 快速构建Windows 8风格应用4-FlipView数据控件
原文:快速构建Windows 8风格应用4-FlipView数据控件 本篇博文主要介绍为什么使用FlipView控件.什么是FlipView控件.如何使用FlipView控件和FlipView控件最佳 ...
- 快速构建Windows 8风格应用17-布局控件
原文:快速构建Windows 8风格应用17-布局控件 本篇博文主要介绍三种常用的布局控件:Canvas.Grid.StackPanel. Panel类是开发Windows 8 Store应用中一个重 ...
- 快速构建Windows 8风格应用15-ShareContract构建
原文:快速构建Windows 8风格应用15-ShareContract构建 本篇博文主要介绍共享数据包.如何构建共享源.如何构建共享目标.DataTransferManager类. 共享数据包 Da ...
- 快速构建Windows 8风格应用14-ShareContract概述及原理
原文:快速构建Windows 8风格应用14-ShareContract概述及原理 本篇博文主要介绍Share Contract概述.Share Contract实现原理.实现Share Contra ...
- 快速构建Windows 8风格应用13-SearchContract构建
原文:快速构建Windows 8风格应用13-SearchContract构建 本篇博文主要介绍如何在应用中构建SearchContract,相应的原理已经在博文<快速构建Windows 8风格 ...
- 快速构建Windows 8风格应用9-竖直视图
原文:快速构建Windows 8风格应用9-竖直视图 本篇博文主要介绍竖直视图概览.关于竖直视图设计.如何构建竖直视图 竖直视图概览 Windows 8为了支持旋转的设备提供了竖屏视图,我们开发的应用 ...
- 快速构建Windows 8风格应用10-设备方向
原文:快速构建Windows 8风格应用10-设备方向 本篇博文主要介绍常用支持Windows 8操作系统设备的方向.如何获取当前设备方向.DisplayProperties类. 常用支持Window ...
- 快速构建Windows 8风格应用11-语义缩放
原文:快速构建Windows 8风格应用11-语义缩放 本篇博文主要介绍为什么需要语义缩放.什么是语义缩放.如何构建语义缩放. 为什么需要语义缩放 如果用过Windows 8系统的开发者都知道在Win ...
随机推荐
- MVC5个人用户账户身份验证集成google和facebook的OAuth2登陆
最终效果 官方文档:MVC 5 App with Facebook, Twitter, LinkedIn and Google OAuth2 Sign-on 内容简介:上面传送门的博客中讲解了如何在M ...
- Oracle与Sql Server复制表结构和数据
1.Oracle create table 新表名 AS SELECT * FROM 源表名 2.Sql Server SELECT * into 新表名 from 源表名 版权声明:笔者:jiank ...
- Java并发编程:线程池的使用(转)
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了, ...
- ssh无密码登陆(转)
[0]写在前面 由于ssh 实现的是免密码登陆,大致步骤是: 0.1) client通过ssh登陆到server: 0.2) server检查家目录下的.ssh文件, 并发送公钥文件 authoriz ...
- MYSQL-用户权限的验证过程(转)
知识点 因为MySQL是使用User和Host两个字段来确定用户身份的,这样就带来一个问题,就是一个客户端到底属于哪个host. 如果一个客户端同时匹配几个Host,对用户的确定将按照下面的优先级来排 ...
- freemarker定义自己的标记(三)-nested说明
freemarker定义自己的标记 1.nested指令 是可选的,能够在<#macro>和</#macro>之间使用在不论什么位置和随意次数 2.演示样例说明 <#ma ...
- Node.js v0.10.31API手工-DNS
原版的API品种,这是从以前的翻译和翻译风格不同 Node.js v0.10.31API手冊-文件夹 DNS 使用 require('dns') 引入此模块. dns 模块中的全部方法都使用了 C-A ...
- PHP课程十大 PHP图像处理功能和实现的验证码
假如你喜欢这个博客,访问这个博客地址:http://blog.csdn.net/junzaivip 总结: gd绘图库: 数学函数 PHP图片处理函数 图片处理函数使用场景 1.验证码 2.缩放 3. ...
- OCP-1Z0-051-标题决心-文章5称号
5. Which SQL statements would display the value 1890.55 as $1,890.55? (Choose three .) A. SELECT TO_ ...
- PB控制性能TreeView
TreeView [其它] ■TreeView控件能够以树型方式来组织项目.不仅显示直观.界面友好.并且项目的管理和操作更为方便,是当前比較流行的一个控件. 该控件的特点是在较小的空间能够分层次显示大 ...