当把一些数据(多个)也就是集合或者其他比如DataTable绑定到ItemsControl控件时,数据视图就作为数据和前台控件的桥梁被创建出来了,这个桥梁可以做很多事情,比如可以实现导航控件,因为数据视图会记录当前的那个具体的数据,你可以移到上一个,也可以移到下一个,或者移到第一个,或者最后一个,当然还可以实现分组或者排序。
这样做有什么好处呢?比如,我们从数据库读出一些数据,前台可能会对这串数据做各种展示性的筛选排序等等,但是不影响数据库里面的原始数据,那么我们就可以利用数据视图,有几个好处,不需要频繁的去读取数据库,也不需要去维护读出来的数据,而且可以分离筛选的规则,直接在前端去完成。
下面的示例,就是一个人的类,有几个常见的字段,姓名,年龄,身高,性别,我放置了几个按钮,去实现排序,分类等等,基本上这是一个很好理解,也很好学习的一个部分。
首先是人的类别
public class Person
{
public int Age { get; set; }
public string Name { get; set; }
public double Height { get; set; }
public string gender { get; set; }
}
前台代码,没有做布局优化,凑合看,主要展示数据视图
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<StackPanel Orientation="Horizontal">