• 布局MainWindow.xaml
  •  <ListView Name="list_Reg"  ItemsSource="{Binding Source={StaticResource Data}}" Style="{StaticResource ListViewStyle}">
    <ListView.View>
    <GridView>
    <!--列头style-->
    <GridView.ColumnHeaderContainerStyle>
    <Style TargetType="GridViewColumnHeader">
    <Setter Property="Background" Value="CadetBlue"/>
    <Setter Property="Foreground" Value="White"/>
    <Setter Property="FontSize" Value="25"/>
    <Setter Property="Padding" Value="10,0"/>
    <Style.Triggers>
    <Trigger Property="IsMouseOver" Value="True">
    <Setter Property="Background" Value="#FF1975A0"/>
    </Trigger>
    </Style.Triggers>
    </Style>
    </GridView.ColumnHeaderContainerStyle> <GridViewColumn Header="科室" DisplayMemberBinding="{Binding DeptName}"/>
    <GridViewColumn Header="开诊科目" DisplayMemberBinding="{Binding RegName}"/>
    <GridViewColumn Header="周一" DisplayMemberBinding="{Binding Show1}" Width="150"/>
    <GridViewColumn Header="周二" DisplayMemberBinding="{Binding Show2}" Width="150"/>
    <GridViewColumn Header="周三" DisplayMemberBinding="{Binding Show3}" Width="150"/>
    <GridViewColumn Header="周四" DisplayMemberBinding="{Binding Show4}" Width="150"/>
    <GridViewColumn Header="周五" DisplayMemberBinding="{Binding Show5}" Width="150"/>
    </GridView>
    </ListView.View>
    </ListView>
    </Canvas> <StackPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal">
    <ItemsControl ItemsSource="{Binding Pages}">
    <ItemsControl.ItemTemplate>
    <DataTemplate>
    <Button Name="but_Pages" Content="{Binding Name}"
    Margin="5" Foreground="White" Background="CadetBlue" Padding="10,5" Click="but_Pages_Click"></Button>
    </DataTemplate>
    </ItemsControl.ItemTemplate> <ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
    <WrapPanel/>
    </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    </ItemsControl> <TextBlock VerticalAlignment="Center">
    <TextBlock Text="【共"/>
    <TextBlock Text="{Binding Total}" Foreground="Yellow"/>
    <TextBlock Text="页】"/> <TextBlock Text="【当前"/>
    <TextBlock Text="{Binding CurrentSize}" Foreground="Yellow"/>
    <TextBlock Text="页】"/>
    </TextBlock>
    </StackPanel>
  • 每隔10秒翻页,循环
  •  public partial class MainWindow : Window
    {
    ViewPages viewPages = new ViewPages();
    Timer timer = new Timer();
    int _currCount=1;
    public MainWindow()
    {
    InitializeComponent();
    this.DataContext = viewPages;
    } private void window_Loaded(object sender, RoutedEventArgs e)
    {
    if (viewPages.Total > 1)
    {//当总页数大于1时才翻页
    timer.Interval = 10000;//5秒变换一次
    timer.Enabled = true;
    timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
    }
    } private void but_Pages_Click(object sender, RoutedEventArgs e)
    {//单击按钮时也翻页
    viewPages.Fun_Pager(((sender as Button).DataContext as Page).PageSize);
    } void timer_Elapsed(object sender, ElapsedEventArgs e)
    {
    Dispatcher.BeginInvoke(new Action(() =>
    {
    //翻页
    _currCount = viewPages.CurrentSize+1;
    if (_currCount > viewPages.Total)
    {
    viewPages.CurrentSize = 1;
    _currCount = viewPages.CurrentSize;
    }));
    }
    }
  • 翻页函数 ViewPages.cs
  •     public class ViewPages: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<Page> _pages;
    public List<Page> Pages
    {
    get { return _pages; }
    set
    {
    _pages = value;
    NotifyPropertyChanged("Pages");
    }
    } private List<WPF_OPRegDept.DataOP.Reg> _listRegDept;
    public List<WPF_OPRegDept.DataOP.Reg> ListRegDept
    {
    get { return _listRegDept; }
    set
    {
    _listRegDept = value;
    NotifyPropertyChanged("ListRegDept");
    }
    } private List<WPF_OPRegDept.DataOP.Reg> _listBind;
    public List<WPF_OPRegDept.DataOP.Reg> ListBind
    {
    get { return _listBind; }
    set
    {
    _listBind = value;
    NotifyPropertyChanged("ListBind");
    }
    } #region INotyfyPropertyChanged 成员
    public event PropertyChangedEventHandler PropertyChanged;
    public void NotifyPropertyChanged(string PropertyName)
    {
    if(PropertyChanged!=null)
    {
    PropertyChanged(this,new PropertyChangedEventArgs(PropertyName));
    }
    }
    #endregion public ViewPages()
    {
    DataOP dataOP=new DataOP();
    this.Number = 14;//设置每页显示数目
    this.ListRegDept = new List<DataOP.Reg>();//初始化数据
    ListRegDept = dataOP.GetRegDept(); this.Total = ListRegDept.Count() / this.Number + 1;//获取总页数 this.Pages = new List<Page>();//初始化所有页数数组
    for (int i = 1; i <= this.Total; i++)
    {
    this.Pages.Add(new Page {Name=i.ToString(),PageSize=i });
    }
    this.CurrentSize = 1;//设置当前显示页面
    Fun_Pager(this.CurrentSize); }
    /// <summary>
    /// 分页方法
    /// </summary>
    /// <param name="CurrentSize">当前页数</param>
    public void Fun_Pager(int CurrentSize)
    {
    this.CurrentSize = CurrentSize;
    this.ListBind = this.ListRegDept.Take(this.Number*this.CurrentSize)
    .Skip(this.Number*(this.CurrentSize-1)).ToList();
    }
    } public class Page
    {
    public string Name { get; set; }
    public int PageSize { get; set; }
    }
    }

WPF:ListView 分页的更多相关文章

  1. WPF ListView 选中问题

    WPF ListView 选中问题  摘自:http://www.cnblogs.com/BBHor/archive/2013/04/28/VisualTreeHelper-PreviewMouseD ...

  2. Android --ListView分页

    参考博客:Android ListView分页加载(服务端+android端)Demo 监听OnScrollListener事件 class OnListScrollListener implemen ...

  3. Android中ListView分页加载数据

    public class MainActivity extends Activity { private ListView listView=null; //listview的数据填充器 privat ...

  4. [WPF]ListView点击列头排序功能实现

    [转]   [WPF]ListView点击列头排序功能实现 这是一个非常常见的功能,要求也很简单,在Column Header上显示一个小三角表示表示现在是在哪个Header上的正序还是倒序就可以了. ...

  5. android中listview分页载入数据

    前段时间做的新浪微博项目一直想实现listview分页载入数据,今天最终实现了,哈哈!感觉挺好的,今天又写了个demo给大家分享下. 首先说下listview的优化方案,这也是面试中常考的题目.优化方 ...

  6. 【Android进阶】Listview分页加载数据的实现

    Listview分页加载数据的实现 public class MainActivity extends Activity { protected static final int SUCCESS_GE ...

  7. Android ListView分页载入(服务端+android端)Demo

    Android ListView分页载入功能 在实际开发中经经常使用到,是每一个开发人员必须掌握的内容,本Demo给出了服务端+Android端的两者的代码,并成功通过了測试. 服务端使用MyEcli ...

  8. ListView分页显示

    出在:http://blog.csdn.net/tu_bingbing/article/details/13275107         当ListView要显示的数据过多时,为了更快的响应用户,这个 ...

  9. ListView 分页 排序、编辑、插入和删除

    摘自网络地址:http://msdn.microsoft.com/zh-cn/magazine/cc337984.aspx ListView 基础 ListView 是模板驱动的控件,这意味着它默认情 ...

随机推荐

  1. linux查看ssh用户登录日志与操作日志

    linux查看ssh用户登录日志与操作日志 2013-11-01转载   ssh用户登录日志 linux下登录日志在下面的目录里:  代码如下 复制代码 cd /var/log 查看ssh用户的登录日 ...

  2. ios - 文件保存路径的获取

    "应用程序包": 这里面存放的是应用程序的源文件,包括资源文件和可执行文件. 获取方式: NSString *path = [[NSBundle mainBundle] bundl ...

  3. JQuery 支持 hide 和 show 事件的方法与分析

    问题提出  JQuery不支持hide和show作为事件形式出现, 实际上这两个仅仅是JQuery对象的一个方法(fn): 有一类UI交互需求,根据一个DOM对象的或者显示对附属的DOM对象做相同操作 ...

  4. DuiLib学习笔记3——颜色探究

    在前面两篇日志已经能使用xml了.今天准备好好的折腾一番,结果在颜色上却掉坑里了. 起初我在ps里取颜色为0104ff 这里01为R,04为G,ff为B 在控件的属性里有这样一个属性bkcolor=& ...

  5. 用JS来控制 div的高度随浏览器变化而变化

    <div id="test" style=" border: solid 1px #f00; "></div> <script t ...

  6. Ruby(rails)win环境下安装

    1.RubyInstaller 在RubyInstaller官网下载window版本安装,地址:http://rubyinstaller.org/downloads/  执行安装程序,勾选Add Ru ...

  7. delphi TIdHTTP Post乱码问题

    这里主要说的是中文乱码的问题 1. 发过去的是乱码如下处理, 服务器采用的是UFT-8编码的情况下 uses  HTTPApp;      sPost := HTTPEncode(UTF8Encode ...

  8. nodejs框架express快速开始

    认识express 创建应用 get请求 简述中间件 all方法 use方法1 use方法2 回调函数 获取主机.路径名 Get请求 - query Get请求 - param Get请求 - par ...

  9. 禁止输入中文 与 禁止输入数字在phonegap api环境效果

    例子如下: <!doctype html> <html> <head> <meta charset="utf-8"> <tit ...

  10. java正则表达式的使用

    姿势: Pattern pattern = Pattern.compile("^Java.*");Matcher matcher = pattern.matcher("J ...