什么没有 发表于 2015-5-22 09:03:14

Windows 8 Metro 应用开发入门(二):Metro App的几个新控件

摘 要

  基于Silverlight开发Metro App可以使用Silverlight原生的控件,为了更好的开发Metro App,控件库又专门增加了几个新的控件,如:GridView、Flipview、ProgressRing、SemanticZoom和VariableSizedWrapGrid等,这些控件为平板设备提供了良好的触控体验,这一章我们来介绍一下这几个控件的简单用法。




第1节 GridView  GridView是以网格样式展现一组数据,在Web开发中就已经存在,主要用于多行多列的数据显示中。Metro中以分组形式表达数据使用GridView更得心应手,在Silverlight 5及以前版本中,如果想实现分组数据展现要先写一堆数据模板,而在Metro中,这种展现方式得到了增强,GridView 是专门用于分组数据的,如果仅仅是列表数据,则建议使用ListView。
  GridView控件有几个非常重要的常用成员:
  (1) 数据源
  如果是以分组形式展示数据,则数据源必须是可分组的,也即是有主从关系,通常是主列表项中每一项可能存在着某一子列表。GridView的数据源依托于CollectionViewSource,CollectionViewSource有一个属性IsSourceGrouped指明数据源是否是分组源数据集合,还有一个属性ItemsPath指明查找子数据项的路径,通常将可分组的源数据指定给CollectionViewSource对象的Source属性,如下定义了年级与学生的主从关系,年级包含了学生的数据列表:



    public class Grade
{
public Grade()
{
Students = new ObservableCollection();
}
public string Name { get; set; }
public ObservableCollection Students { get; private set; }
}
public class Student
{
public string Name { get; set; }
public DateTime Birthday { get; set; }
public bool IsClassLeader { get; set; }
public string Grade { get; set; }
}
  以下代码来模拟生成三个年级的学生:



      private List CreateGrades()
{
List Grades = new List();
for (int i = 1; i
页: [1]
查看完整版本: Windows 8 Metro 应用开发入门(二):Metro App的几个新控件