需要帮助:DataGridCheckBoxColumn 双向工作只能单向

Need help: DataGridCheckBoxColumn two-way works only one-way

我(..仍在学习 wpf..)制作了一个 DataGrid,第一列显示信号是否启用。

在xaml中:

    <DataGrid.Columns> ...
      <DataGridCheckBoxColumn Width ="30" Header="" IsReadOnly="False" Binding="{Binding IsEnabled, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
    </DataGrid.Columns>

DataGrid的ItemSouce已正确设置并与ObservableCollection<Signal> signalList列表中的数据绑定。一切都正确显示在 DataGrid 中。所以这里从 signalList 到 DataGrid 的绑定工作正常。

另一方面,我希望每次更改 signalList 时,DataGrid 都可以自动更新。但是,如果我这样做

signalList[0].IsEnabled = true;

DataGrid 没有得到更新。找了很多还是没找到答案

我错过了什么吗?谢谢

编辑1:

DataGrid 确实得到更新,只有当我单击另一行,然后将滚动条拉到看不见的地方时。然后,如果我向后拉动滚动条,该行就会正确显示。我想我肯定错过了什么,有人可以给我提示吗?

我在 Aybe 和 gavin 的帮助下解决了这个问题。作为记录,我在这里添加我的代码:

class 信号:INotifyPropertyChanged

{
...
    private bool isEnabled;
    public bool IsEnabled
    {
      get { return isEnabled; }
      set { isEnabled = value; OnPropertyChanged(new PropertyChangedEventArgs("IsEnabled"));}
    }

public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(PropertyChangedEventArgs e)
{
  if (PropertyChanged != null)
    PropertyChanged(this, e);
}
}