WPF DataGrid:一行被卸载,我捕获事件。如何确定_used_拥有的行索引?

时间:2013-12-05 17:22:26

标签: c# wpf datagrid

代码:

private void DataGrid_UnloadingRow(object sender, DataGridRowEventArgs e)
{
    var dataGridRow = e.Row;
    [...]
}

当我提取Row.GetIndex()时,我总是得到-1。有没有办法找到使用被行消失的行索引?

TIA。

2 个答案:

答案 0 :(得分:1)

DataGrid Unload通常用于指示何时可以在视觉上卸载行以供重用。由于该行已从可视系统中删除,因此行索引可能无效。

如果需要访问行数据,请使用e.Row.Item。您可以使用它来获取数据索引。请参阅本答案中提供的以下解决方案。 https://stackoverflow.com/a/11295302/2696641

答案 1 :(得分:0)

每个控件都基于控件类,该控件类具有object类型的Tag属性。该属性专门供任何消费者根据需要在其上放置任何对象并提取该对象以供以后使用。我建议您在行上卸载之前随时将索引放在您真正感兴趣的数据的属性(或可能是引用)上。然后,当卸载发生时,您只需从中提取数据。