【原创】有关Silverlight中“DataGrid中单元格动态绑定ComboBox单击时数据项莫名被清除 ”的解决方案及思路。

时间:2021-09-15 15:45:33

今天上班遇到一个很古怪的问题,搞了半天愣是没找到原因。是这样的,在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操作里面到底做了什么。

问题解决:

【原创】有关Silverlight中“DataGrid中单元格动态绑定ComboBox单击时数据项莫名被清除 ”的解决方案及思路。