Exemplo n.º 1
0
 private void _RefreshPager(MISLinkButton misImgBtn)
 {
     //对比点击的控件
     if (misImgBtn.Tag != null)
     {
         if (misImgBtn.Tag.Equals(0))
         {
             if (this.PageIndex > 1)
             {
                 if (this.PageIndex == 2 && this.mCurrentIsAddEllipsisCtrl)                         //当前点击第二页时,显示第一个并移除左侧的省略号控件
                 {
                     this.mCurrentIsAddEllipsisCtrl = false;
                     this.PART_Content.Children.RemoveAt(0);
                 }
                 //刷新UI(所有的分页控件减1)
                 this._RefreshPager(AddSubtract.subtract);
                 this._MaintainCurrentPagers(AddSubtract.subtract);
             }
         }
         if (misImgBtn.Tag.Equals(5))
         {
             //检测当前是否已添加省略号控件
             if (!this.mCurrentIsAddEllipsisCtrl)
             {
                 this.mCurrentIsAddEllipsisCtrl = true;
                 //在翻页控件第一个位置添加一个省略号控件
                 this.PART_Content.Children.Insert(0, new MISLinkButton()
                 {
                     Content = "...", Width = 35, BorderThickness = new Thickness(1, 0, 0, 0), Style = Application.Current.FindResource("DefaultLinkButton3Style") as Style
                 });
             }
             //刷新UI(所有的分页控件加1)
             this._RefreshPager(AddSubtract.Add);
             this._MaintainCurrentPagers(AddSubtract.Add);
         }
     }
     #endregion
 }
Exemplo n.º 2
0
 //初始化控件时调用的系统方法
 public override void OnApplyTemplate()
 {
     base.OnApplyTemplate();
     this.PART_Content      = this.GetTemplateChild(MISPager.MIS_PART_CONTENT) as StackPanel;
     this.PART_Nextpage     = this.GetTemplateChild(MISPager.MIS_PART_NEXTPAGE) as MISImageButton;
     this.PART_Previouspage = this.GetTemplateChild(MISPager.MIS_PART_PREVIOUSPAGE) as MISImageButton;
     this.PART_Count        = this.GetTemplateChild(MISPager.MIS_PART_COUNT) as TextBlock;
     this.PART_PageIndex    = this.GetTemplateChild(MISPager.MIS_PART_PAGEINDEX) as TextBlock;
     //计算页码数
     this.PageCount       = (Int32)Math.Ceiling((Double)this.Total / (Double)this.PageSize);
     this.PART_Count.Text = this.Total.ToString();
     //当总页码小于7页,显示1、2、3、4、5、6、7
     if (this.PageCount <= 7)
     {
         this.mPagerType = PagerType.Default;
         for (int i = 0; i < this.PageCount; i++)
         {
             var misImgBtn = new MISLinkButton()
             {
                 Content         = (i + 1).ToString(),
                 Width           = 35,
                 BorderThickness = new Thickness(1, 0, 0, 0),
                 Style           = Application.Current.FindResource("DefaultLinkButton2Style") as Style
             };
             this.mCurrentPagers.Add((i + 1));
             misImgBtn.Click += OnMisImgBtn_Click;
             if (this.PART_Content != null)
             {
                 this.PART_Content.Children.Add(misImgBtn);
             }
         }
     }
     else
     {
         this.mPagerType = PagerType.Complex;
         for (int i = 0; i < 5; i++)
         {
             var misImgBtn = new MISLinkButton()
             {
                 Content = (i + 1).ToString(), Width = 35, BorderThickness = new Thickness(1, 0, 0, 0), Style = Application.Current.FindResource("DefaultLinkButton2Style") as Style
             };
             misImgBtn.Click += OnMisImgBtn_Click;
             if (i.Equals(0))
             {
                 misImgBtn.Tag = 0;                                   //设置左控制点
             }
             if (i.Equals(4))
             {
                 misImgBtn.Tag = 5;                                   //设置右控制点
             }
             this.mCurrentPagers.Add((i + 1));
             if (this.PART_Content != null)
             {
                 this.PART_Content.Children.Add(misImgBtn);
             }
         }
         this.PART_Content.Children.Add(new MISLinkButton()
         {
             Content = "...", Width = 35, BorderThickness = new Thickness(1, 0, 0, 0), Style = Application.Current.FindResource("DefaultLinkButton3Style") as Style
         });
         this.PART_Content.Children.Add(new MISLinkButton()
         {
             Content = this.PageCount.ToString(), Width = 35, BorderThickness = new Thickness(1, 0, 0, 0), Style = Application.Current.FindResource("DefaultLinkButton2Style") as Style
         });
     }
     this.SetLinkButtonFocus(0);
     this._SetNextpageAndPreviouspageState();
     if (this.PART_Previouspage != null)
     {
         this.PART_Previouspage.Click += OnPART_Previouspage_Click;
     }
     if (this.PART_Nextpage != null)
     {
         this.PART_Nextpage.Click += OnPART_Nextpage_Click;
     }
 }