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

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

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

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

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

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

public partial class MainPage : UserControl

    {

        List<string> _gListTest;

        /// <summary>

        /// 分页控件及示例 子风([email protected])

        /// 可以随意修改及使用

        /// </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() + "";

        }

    }

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

下载源码:

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

你可能感兴趣的:(silverlight)