使用 DataGrid 时,如何将 DataGridComboBoxColumn 绑定到其他列内容
本文关键字:绑定 其他 DataGridComboBoxColumn DataGrid 使用 | 更新日期: 2023-09-27 17:55:42
我有一个DataGrid,它的ItemsSource绑定到一个ObservableCollection。和:
- 绑定到 Name 属性的第一列;
- 绑定到 Age 属性的第二列;
示例图像
现在,我想使用 DataGridComboBoxColumn 控件添加第 3 列。它的内容应该是第 1 列的所有名称。添加或删除行时,DataGridComboBoxColumn 的内容应相应地添加或删除名称。
我想到的唯一方法非常愚蠢:只需创建一个名为NameList的新ObservableCollection。每次向 DataGrid 添加或删除行时,都会同时向 NameList 添加或删除名称。
有没有更好的方法?
添加一个只有一个 getter 的新属性,并将其绑定到第一列的可见性属性。
不要忘记在修改第三列的值时为添加的属性执行 OnPropertyChanged。