我在扩展的DataGrid中有以下代码来检查或取消选中CheckBoxColumn:
if (this.Columns[c] is DataGridCheckBoxColumn)
{
CheckBox cb = this.GetCellCtrl<CheckBox>(this.Columns[fromCol], topRow);
for (int r = fromRow + 1; r <= toRow; r++)
{
CheckBox tt = this.GetCellCtrl<CheckBox>(this.Columns[fromCol], this.GetRow(r));
if (tt != null)
tt.IsChecked = cb.IsChecked;
}
}
问题是选中(或取消选中)复选框,但不更新基础数据。如果我鼠标单击该复选框,它可以工作。那么,我的代码和鼠标点击有什么区别?如何解决我的问题?
答案 0 :(得分:1)
在本地设置值将删除将CheckBox
与您的数据相关联的绑定。您是否有任何理由通过用户界面更新数据状态?为什么不对数据使用相同的循环逻辑?
如果你真的必须这样做,你应该看看UI Automation: