使用 DataGrid 时,如何将 DataGridComboBoxColumn 绑定到其他列内容

本文关键字:绑定 其他 DataGridComboBoxColumn DataGrid 使用 | 更新日期: 2023-09-27 17:55:42

我有一个DataGrid,它的ItemsSource绑定到一个ObservableCollection。和:

  • 绑定到 Name 属性的第一列;
  • 绑定到 Age 属性的第二列;

示例图像

现在,我想使用 DataGridComboBoxColumn 控件添加第 3 列。它的内容应该是第 1 列的所有名称。添加或删除行时,DataGridComboBoxColumn 的内容应相应地添加或删除名称。

我想到的唯一方法非常愚蠢:只需创建一个名为NameList的新ObservableCollection。每次向 DataGrid 添加或删除行时,都会同时向 NameList 添加或删除名称。

有没有更好的方法?

使用 DataGrid 时,如何将 DataGridComboBoxColumn 绑定到其他列内容

添加一个只有一个 getter 的新属性,并将其绑定到第一列的可见性属性。

不要忘记在修改第三列的值时为添加的属性执行 OnPropertyChanged。