为什么 DataGridColumn.GetCellContent (DatagridRow) 始终为空,即使 DataGridRow 不为空?

why DataGridColumn.GetCellContent (DatagridRow) is always null even though DataGridRow is not null?

我试图在加载 DataGridRow 时访问每个单元格内容,但是 DataGridColumn.GetCellContent(DataGridRow) 始终为空,尽管该列的 DataGridRow 中有数据。 例如:

    void DataGrid_LoadingRow(object sender,DataGridRowEventArgs e)
    {
      foreach(var colItem in dg.Columns)
      {
        var cell=item.GetCellContent(e.Row as DataGridRow);//Row is not null, cell is null after this execution.       
      }
    }

可能是什么原因?

PS: 我已经禁用了行和列的虚拟化。

谢谢

DataGrid 是关于在 DataGridRow 中加载行数据并填充一行时,起初它似乎在应用数据绑定等之前引发了 LoadingRow 事件。因此内容其中的 DataGridCell 将在此时为空。

这是一个类似于 PropertyChanging 事件的事件(在应用更改之前触发)。而 PropertyChanged 事件在该更改发生后触发。

您可以为此使用其他活动。

这是一个软件错误所以:

  • 将列可见性更改为可见
  • 移除DataGridTemplateColumn

它会很好用。