提问者:小点点

WPF“组合框”项源属性已更改,选定项属性设置为 null


发生的问题是,每当 WPF 组合框项源属性更改时,所选项属性都设置为 null。

重现问题的要求:

  1. 原始项源是不是值类型的对象的集合
  2. 选定值绑定到某个属性
  3. 已设置选定值路径
  4. 选定项是原始项源中的某些项
  5. New ItemsSource 是与原始对象类型相同的对象的集合
  6. 不包含对内存中与当前选定项相同的对象的引用的项源

实际上我想在数据网格寺庙中绑定组合框,组合框集合存在于视图模型中,当我更改第一列属性时,其他行组合框项变为空。

我如何解决这个问题?


共1个答案

匿名用户

SelectedItem对象必须位于ItemsSource集合中。

如果要从新的ItemsSource集合中分配一个与以前的SelectedItem的属性相匹配的新SelectedItem,请在更改ItemsSource之前保存属性值,并查找匹配的项。

var id = ((MyType)MyCombo.SelectedItem).Id;

MyCombo.ItemsSource = MyNewList;

MyCombo.SelectedItem = MyNewList.FirstOrDefault(x => x.Id == id);