silverlight分页 —自定义仿论坛分页样式

最近项目用到silverlight、WCF相关技术。以前没有接触过,相当于零起步,在园子里面看了不少大神的文章,受益匪浅。现在项目接近完结,整理的时候发现一些自己编写的控件,把个别传上来,供新人参考学习。

这是一个分页控件,准确说只是一些分页的按钮,所以很简单了。先上一下效果图:

后面附件提供使用例子及源码,用得到的可以看一下。

这个自定义控件初始化的时候需要设置总页面、当前页面、显示的按钮数目,然后在点击的时候会触发的一个点击事件,同时可以得到控件所占的宽度,方便上层布局,使用的代码如下:

public partial class MainPage : UserControl
    {
        List<string> _gListTest;
        /// <summary>
        /// 分页控件及示例 子风(adswads@sina.com)
        /// 可以随意修改及使用
        /// </summary>
        public MainPage()
        {
            InitializeComponent();

            _giMPager.gPagerClick += new IM_UI.Control.IMPager.PagerClick(_giMPager_gPagerClick);

            _gListTest = new List<string>();
            for (int i = 0; i < 120; i++)
            {
                _gListTest.Add(i.ToString());
            }

            //按钮颜色及样式在IMPagerIco中设置

            //目前只支持奇数,偶数自行去修改控件。最好设置为大于3的奇数
            _giMPager.gPageCnt = 9;
            //设置显示的页面和总页面,总页数为0时不显示,返回控件所占宽度
            _giMPager.RefReshItems(1, _gListTest.Count);

            _gtbNote.Text = "当前 第" + _giMPager.gPage.ToString() + "页,共" + _giMPager.gPageSum.ToString() + "页,显示按钮"
                + _giMPager.gPageCnt.ToString() + "";
        }

        void _giMPager_gPagerClick(int page)
        {
            //注意在次设置刷新,刷新返回当前按钮所占长度,可以在上层设置布局
            _giMPager.RefReshItems(page, _gListTest.Count);

            _gtbNote.Text = "当前 第" + _giMPager.gPage.ToString() + "页,共" + _giMPager.gPageSum.ToString() + "页,显示按钮"
                + _giMPager.gPageCnt.ToString() + "";
        }
    }

至于控件的编写就比较简单了,代码有详细的注释,有疑问的地方留言就可以。

下载源码:

https://files.cnblogs.com/adswads/20120802MyPager.rar

posted @ 2012-08-02 10:47  皓月空  阅读(276)  评论(0编辑  收藏  举报