在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" 目前我还没有研究过....有待大家指导我
以上这两种方法都可以解决.希望对大家有帮助也希望有大神指导原因和分享其他方法
时间: 2024-10-03 17:44:38