XAML:

   <Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<ListView Grid.Row="0" ItemsSource="{Binding Lst_bind}">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn DisplayMemberBinding="{Binding Name}"
Width="200" Header="名字"/>
<GridViewColumn DisplayMemberBinding="{Binding Age}"
Width="200" Header="年龄"/>
<GridViewColumn DisplayMemberBinding="{Binding Address}"
Width="200" Header="地址"/>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView> <StackPanel Orientation="Horizontal" Grid.Row="1">
<ItemsControl ItemsSource="{Binding Pages}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<WrapPanel>
<Button Content="{Binding Name}" Background="Red" Foreground="White"
Width="25" VerticalAlignment="Center" Click="Button_Click_1"/>
</WrapPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
<!--这里用WrapPanel 当容器放Button-->
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
<TextBlock VerticalAlignment="Center" Foreground="Black"> <TextBlock Text="【共"/>
<TextBlock Text="{Binding Total}" Foreground="Red"/>
<TextBlock Text="页】"/> <TextBlock Text="【当前"/>
<TextBlock Text="{Binding Currentsize}" Foreground="Red"/>
<TextBlock Text="页】"/> </TextBlock>
</StackPanel>
</Grid>

后台代码:
  Models:

 public class Pages
{
public string Name { get; set; }
public int PageSize { get; set; }
} public class User
{
public string Name { get; set; }
public int Age { get; set; }
public string Address { get; set; }
}

ViewMode:

 class PageDataManager:INotifyPropertyChanged
{
private int number;
public int Number
{
get { return number; }
set
{
number = value;
NotifyPropertyChanged("Number");
}
} private int currentsize;
public int Currentsize
{
get { return currentsize; }
set
{
currentsize = value;
NotifyPropertyChanged("Currentsize");
}
} private int total;
public int Total
{
get { return total; }
set
{
total = value;
NotifyPropertyChanged("Total");
}
} private List<Pages> pages;
public List<Pages> Pages
{
get { return pages; }
set
{
pages = value;
NotifyPropertyChanged("Pages");
}
} private List<User> lst_user; public List<User> Lst_user
{
get { return lst_user; }
set { lst_user = value; NotifyPropertyChanged("Lst_user"); }
} private List<User> lst_bind; public List<User> Lst_bind
{
get { return lst_bind; }
set { lst_bind = value; NotifyPropertyChanged("Lst_bind"); }
} //负责监视属性的变化
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string Propertyname)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(Propertyname));
}
} public PageDataManager()
{
this.Number = ; this.Lst_user = new List<User>();
for (int i = ; i <= ; i++)
{
Lst_user.Add(new User() { Name="张三"+i.ToString(), Age=, Address="中国河南" });
} //总页数=总数/每页显示的数
this.Total = Lst_user.Count()/Number; //初始化页数数组
this.Pages = new List<Pages>();
for (int i = ; i <= Total; i++)
{
this.Pages.Add(new Pages() { Name=i.ToString(), PageSize=i});
}
this.Currentsize = ;
Pager(Currentsize);
} //分页方法
public void Pager(int cize)
{
this.Currentsize = cize;
this.Lst_bind = this.Lst_user.Take(this.Number * cize).Skip(this.Number * (cize - )).ToList();
}
}

MainPage.cs

public partial class MainWindow : Window
{
PageDataManager data = new PageDataManager();
public MainWindow()
{ InitializeComponent();
this.DataContext = data;
} private void Button_Click_1(object sender, RoutedEventArgs e)
{
data.Pager(((sender as Button).DataContext as Pages).PageSize);
}
}

最新文章

  1. MySQL支持的数据类型(1)( 整数,小点,位)
  2. 按钮点击,打开qq,用做联系客服
  3. Tomcat APR &amp; Linux Optimization
  4. TortoiseSVN文件夹及文件图标不显示解决方法
  5. Access sql语句创建表及字段类型
  6. 【POJ】2449 Remmarguts&#39; Date(k短路)
  7. 20145218 《Java程序设计》第四周学习总结
  8. 项目管理工具:Maven使用方法总结
  9. Ubuntu Server 中resolv.conf重启时被覆盖的问题
  10. linux2.6中的工作队列接口 workqueue_struct
  11. CenOS搭建FTP服务器
  12. ReactiveCocoa 入门学习 (一)
  13. 分布式基础学习(2)分布式计算系统(Map/Reduce)
  14. cocos creator实现棋牌游戏滑动选牌的功能
  15. [HNOI2001]软件开发
  16. ATPCS规则
  17. mybatis批量更新update-设置多个字段值 报错 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
  18. 调用sklearn包中的PLA算法[转载]
  19. Alpha阶段项目复审
  20. maven 打包 OutOfMemoryError

热门文章

  1. python使用pwd和grp操作unix用户及用户组
  2. mysql 自动记录数据插入及最后修改时间
  3. 最小割dp Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) E
  4. HDU 5700 优先队列(或者multiset) 或 线段树
  5. HDU 2588 思维 容斥
  6. HDU 1452 欧拉定理
  7. Packet Tracer 5.0 构建CCNA实验(3)—— 路由器实现vlan间通信
  8. Linux rpm yum 等安装软件
  9. 那些让 Web 开发者们深感意外的事情
  10. 【CodeForces】960 F. Pathwalks 主席树+动态规划