Silverlight中ScrollIntoView()无效解决方案

在 Silverlight 的 ListBox 中有一个方法 ScrollIntoView() 用来将对象定位到视图中,但是在实际编程的过程中发现 ListBox.ScrollIntoView() 并没有实现所要的功能,据说在 WCF 中可以。问题的起源见于 http://www.cnblogs.com/cyq1162/archive/2010/07/19/1780752.htm

查了一些资料,得到最终的解决方案为:在调用 ScrollIntoView() 之前使用 lbMsg.UpdateLayout() 更新布局可以解决这个问题。

可以参考以下代码:

1  string  item  =  tbItem.Text;
2  if  (item  !=   "" )
3  {
4      lbMsg.Items.Add(item);
5      lbMsg.SelectedIndex  =  lbMsg.Items.Count  -   1 ;
6      lbMsg.UpdateLayout();
7      lbMsg.ScrollIntoView(lbMsg.SelectedItem);
8      tbItem.Text  =   "" ;
9  }

 

 参考资料:1. http://forums.silverlight.net/forums/p/19486/293798.aspx 

               2. http://connect.microsoft.com/VisualStudio/feedback/details/373113/scrollintoview-does-nothing-on-a-listbox-in-silverlight# 

转载于:https://www.cnblogs.com/sunzhiyue/archive/2010/07/20/1781671.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值