继上节所讲,在上一节中,我们讲述了DataGrid绑定webService传输过来的XML数据实体类集合。在本节我们将这个DataGrid移动到一个ChildWindow中去。然后实现ChildWindow的弹出效果。以及对这个DataGrid的分页效果。实例源代码也是在上一节的基础上做一些改动而来。
一.Silverlight弹出子窗口。首先我们右键点击项目-->“添加”-->“新建项”-->选择“Silverlight子窗口”,重命名为“PopWindow.xaml”然后点击确定。就添加Silverlight的子窗口文件了。在这里,我们将DataGrid解析和绑定数据的XAML代码和CS代码转移到PopWindow页面中去。然后,我们在MainPage页面添加一个按钮。为这个按钮的点击事件添加以下语句:
PopWindow popwin = new PopWindow(); popwin.Show();
在这里我们实例化ChildWindow,然后调用Show()函数,即可弹出一个小窗口。
二.关于DataGrid的分页,我们使用DataPager来分页。在这里,我们贴出DataPager的代码如下:
<sdk:DataPager Margin="28,0,0,14" PageSize="10" Height="30" HorizontalAlignment="Left" Name="dataPager1" VerticalAlignment="Bottom" Width="324" PageIndexChanged="dataPager1_PageIndexChanged" />
PageSize="10"是设置每页显示10条数据。
在绑定实体类集合的过程中需要引入using System.Windows.Data;程序集。然后使用PagedCollectionView声明一个视图对象,构造语句为 PagedCollectionView itemListView = new PagedCollectionView(cityList)。在这里就以cityList为实体类集合声明成功了一个视图对象。然后再将DataGrid的ItemSource和Datapager的ItemSource设置为这个视图对象:itemListView。即可绑定成功分页的DataGrid和DataPager。源代码如下:
PagedCollectionView itemListView = new PagedCollectionView(cityList); this.dataPager1.Source = itemListView; this.ShowCityList.ItemsSource = itemListView;
至此,我们成功的弹出了一个绑定了分页数据的DataGrid的子窗口。
最基础的技巧,也是最实用的知识。给需要的人。本实例程序使用VS2010+Silverlight 4.0制作。
如需实例,请点击 SLReadXmlForDataPager.rar 下载。