正在发生的问题是每当更改WPF ComboBox
ItemsSource属性时,SelectedItem属性都将设置为null。
重新创建问题的要求:
其实我想在Datagrid模板中绑定Combobox,在视图模型中存在Combobox集合,当我更改第一列属性时,其他行组合框项目变为空。
我该如何解决这个问题?
答案 0 :(得分:3)
SelectedItem对象必须位于ItemsSource集合中。
如果要从新的ItemsSource集合中分配新的SelectedItem,该集合与先前SelectedItem上的属性匹配,则在更改ItemsSource之前保存属性值并找到匹配的项目。
var id = ((MyType)MyCombo.SelectedItem).Id;
MyCombo.ItemsSource = MyNewList;
MyCombo.SelectedItem = MyNewList.FirstOrDefault(x => x.Id == id);