Silverlight CheckBox 滚动条BUG + 详解

在SL项目中 做复选框 我的做法是通过DataGrid或者ListBox 配合CheckBox 绑定数据源生成ListBoxItem

数据源是用ADO.NET EF6.0生成的实体模型

然后就遇到了一个SL3的时候就存在的BUG 

当ListBox中的项太多,控件自动会添加滚动条,这时候随便拖动滚动条以后就会发现,一些没有被勾选的CheckBox会变成IsChecked状态

进过查阅资料以后得知是微软在UI本身的BUG,这种BUG不会影响后台的数据,但是影响了使用

解决方法有两种

方法1.绑定CheckBox 的IsCheck属性

被绑定的对象要实现notifypropertychange

方法2 添加一个ItempanelTemplete的Resource 然后在ListBox中调用这个模版

一个群里的大神说可能是由于"自带的虚拟化模版的bug" 目前我还没有研究过....有待大家指导我

 

以上这两种方法都可以解决.希望对大家有帮助也希望有大神指导原因和分享其他方法

 

posted on 2015-06-04 11:24  我是一个大光头  阅读(146)  评论(0)    收藏  举报

导航