今天上班遇到一个很古怪的问题,搞了半天愣是没找到原因。是这样的,在Datagrid中有绑定一个ComboBox列,其不包含在 model数据中,而是单独在LoadingRow事件中去 从数据库拿数据绑定。
绑定成功以后,但在对 单元格进行编辑时(也就是点击ComboBox),瞬间ComboBox内内容都被莫名清空了。
查看了前台绑定的datagrid事件,并没有太多事件里 对ComboBox进行了清空操作,于是找到了一个最有嫌疑的 事件"CurrentCellChanged",
代码如下:
private void dataGriddoc_CurrentCellChanged(object sender, EventArgs e) { var dgGrid = sender as DataGrid; if (dgGrid != null) dgGrid.BeginEdit(); }
尽管该事件中 并未显示对 ComboBox进行操作,但将该事件中代码 屏蔽掉,会发现 问题解决了。 这个问题有待反编译 分析研究一下,dgGrid.BeginEdit操作里面到底做了什么。
问题解决: