Silverlight中DataGrid翻页或者滚动时CheckBox/RadioButton显示的问题

本文介绍了在Silverlight的DataGrid中,当数据包含CheckBox或RadioButton时,翻页或滚动导致选中状态异常的现象。问题源于控件重用。解决方法是在数据项中添加IsSelected属性,并提供具体实现代码示例,以确保翻页后正确显示选中状态。
摘要由CSDN通过智能技术生成

问题现象

Datagrid是silverlight中很常用的控件,经常被用来显示数据,当数据的个数较多时,我们可以使用滚动条或者分页的方式来显示。但是,如果DataGrid中使用了CheckBox或者RadioButton时,会出现如下图所示的问题:

开始的界面:

当我在第一页选中了第一行的radiobutton时:

如果此时我翻到下一页,在没有点击的情况下,第二页中的第一行的RadioButton仍然是被选中了的:


这样的选中方式比较难接受。


问题原因

当翻到下一页时,Datagrid重用了这些RadioButton,所以,还是按照第一页的方式显示了。

解决办法

可以使用partial class在对应的数据项中添加一个属性IsSelected:

    public partial class Book
    {
        private Boolean _isSelected;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值