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() + "个"; } }
至于控件的编写就比较简单了,代码有详细的注释,有疑问的地方留言就可以。
下载源码:
随性随心,随风随行!