设为首页 收藏本站
查看: 1191|回复: 0

Windows Phone 7 ListBox 滚动到最后一条的问题 ( ListBox scrolling to the bottom )

[复制链接]

尚未签到

发表于 2015-5-13 12:11:46 | 显示全部楼层 |阅读模式
  最近做一个windows phone 7 聊天软件的项目,聊天列表用的是Listbox,DataTemplate用了十几种模板,而且其中的有的模板高度是随着聊天的内容长度变化的,这就导致了,ListBox 滚动时出现了很多奇怪的现象:滚动不到最后一条,卡在某一条不能滚动,屏幕晃动等。从网上找了很多关于ListBox的内容,这条最有帮助:  ListBox performance,是微软的开发人员讲述的ListBox使用规范,这其中重点强调了要使ListBox中的DataTemplate要有固定高度。但这无法满足我的DataTemplate对变高的需求。在查看中,发现ListBox 默认用到了虚拟化VirtualizingStackPanel (VSP),试着去掉这个虚拟化改用stackpanel后,发现问题一下解决了。
  下面是代码,加到ListBox 中就好了。



  






  VirtualizingStackPanel (VSP)虚拟化虽然能提高显示性能,但是在变高DataTemplate情况下效果很差,去除后,滚动到ListBox底部变得很美观,最后一项也不会被遮挡半边了。
  当然要想让ListBox滚动到底部,还是比较容易的,直接调用ListBox自带的Api就好了:
  this.ListBox.UpdateLayout();
                if (this.ListBox.Items.Count > 0)
                    this.ListBox.ScrollIntoView(this.ListBox.Items.ElementAt(this.ListBox.Items.Count - 1));
                this.ListBox.UpdateLayout();
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-66598-1-1.html 上篇帖子: 电子书下载:Windows Phone 7 Developer Guide: Building connected mobile applications wi 下篇帖子: 进展-Silverlight5、 windows phone 7、pc 三栖引擎,2D核心已完成
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表