继上节所讲,在上一节中,我们讲述了DataGrid绑定webService传输过来的XML数据实体类集合。在本节我们将这个DataGrid移动到 一个ChildWindow中去。然后实现ChildWindow的弹出效果。以及对这个DataGrid的分页效果。实例源代码也是在上一节的基础上做 一些改动而来。

        一.Silverlight弹出子窗口。首先我们右键点击项目-->“添加”-->“新建项”-->选择“Silverlight子窗 口”,重命名为“PopWindow.xaml”然后点击确定。就添加Silverlight的子窗口文件了。在这里,我们将DataGrid解析和绑定 数据的XAML代码和CS代码转移到PopWindow页面中去。然后,我们在MainPage页面添加一个按钮。为这个按钮的点击事件添加以下语句:

  1. PopWindow popwin = new PopWindow(); 
  2. popwin.Show(); 

        在这里我们实例化ChildWindow,然后调用Show()函数,即可弹出一个小窗口。

        二.关于DataGrid的分页,我们使用DataPager来分页。在这里,我们贴出DataPager的代码如下:

  1. <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。源代码如下:

  1. PagedCollectionView itemListView = new PagedCollectionView(cityList); 
  2. this.dataPager1.Source = itemListView; 
  3. this.ShowCityList.ItemsSource = itemListView; 

      至此,我们成功的弹出了一个绑定了分页数据的DataGrid的子窗口。

      最基础的技巧,也是最实用的知识。给需要的人。本实例程序使用VS2010+Silverlight 4.0制作。

      如需实例,请点击 SLReadXmlForDataPager.rar 下载。