[quote=引用 5 楼 qq14923349 的回复:] [quote=引用 3 楼 bluk44444 的回复:] 1、 EnableColumnVirtualization="False"; EnableRowVirtualization="True"; 2、IsChecked="{Binding check}"不设置双向绑定。 3、 改变CheckBox的选中状态时,先注销他的事件。 List<CheckBox> cbs = GetChildObjects<CheckBox>(dataGrid, "qxcb"); CheckBox cb = cbs[0]; cb.Checked -= qx_Checked; cb.Unchecked -= qx_Unchecked; if (allCheck) { cb.IsChecked = true; } else { cb.IsChecked = false; } cb.Checked += qx_Checked; cb.Unchecked += qx_Unchecked; 4、全选时遍历数据源,设置 ii.check = false;然后 dataGrid.ItemsSource = null; dataGrid.ItemsSource = iis;
[quote=引用 3 楼 bluk44444 的回复:] 1、 EnableColumnVirtualization="False"; EnableRowVirtualization="True"; 2、IsChecked="{Binding check}"不设置双向绑定。 3、 改变CheckBox的选中状态时,先注销他的事件。 List<CheckBox> cbs = GetChildObjects<CheckBox>(dataGrid, "qxcb"); CheckBox cb = cbs[0]; cb.Checked -= qx_Checked; cb.Unchecked -= qx_Unchecked; if (allCheck) { cb.IsChecked = true; } else { cb.IsChecked = false; } cb.Checked += qx_Checked; cb.Unchecked += qx_Unchecked; 4、全选时遍历数据源,设置 ii.check = false;然后 dataGrid.ItemsSource = null; dataGrid.ItemsSource = iis;
1、 EnableColumnVirtualization="False"; EnableRowVirtualization="True"; 2、IsChecked="{Binding check}"不设置双向绑定。 3、 改变CheckBox的选中状态时,先注销他的事件。 List<CheckBox> cbs = GetChildObjects<CheckBox>(dataGrid, "qxcb"); CheckBox cb = cbs[0]; cb.Checked -= qx_Checked; cb.Unchecked -= qx_Unchecked; if (allCheck) { cb.IsChecked = true; } else { cb.IsChecked = false; } cb.Checked += qx_Checked; cb.Unchecked += qx_Unchecked; 4、全选时遍历数据源,设置 ii.check = false;然后 dataGrid.ItemsSource = null; dataGrid.ItemsSource = iis;
通过数据绑定形式全部选择,选择后得结果通知到数据源,处理数据源。
8,735
社区成员
12,029
社区内容
加载中
试试用AI创作助手写篇文章吧