如何获取WPF中具有键盘或鼠标焦点的DataGrid
行的行索引。我不想要DataGrid.SelectedIndex
或DataGrid.SelectedItem
,因为当单元格处于编辑模式时,它只返回-1。
提前致谢!
答案 0 :(得分:2)
您可以使用此辅助方法获取行索引:
public static class DataGridHelper
{
static public int GetRowIndex(DataGrid dataGrid, DataGridCellInfo dataGridCellInfo)
{
DataGridRow dgrow = (DataGridRow)dataGrid.ItemContainerGenerator.ContainerFromItem(dataGridCellInfo.Item);
if (dgrow != null)
return dgrow.GetIndex();
return -1;
}
}
在适当的事件中使用它:
int rowIndex = DataGridHelper.GetRowIndex(yourDataGrid, yourDataGrid.SelectedCells[0]);