为什么 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
它会很好用。
我试图在加载 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
它会很好用。