获取其中包含游标的WPF Datagrid行的行索引

时间:2014-04-29 07:42:16

标签: wpf datagrid

如何获取WPF中具有键盘或鼠标焦点的DataGrid行的行索引。我不想要DataGrid.SelectedIndexDataGrid.SelectedItem,因为当单元格处于编辑模式时,它只返回-1。

提前致谢!

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]);