找到控件相对于网格中单元格的位置

时间:2014-04-03 08:30:52

标签: c# wpf grid

如何找到控件相对于网格中单元格的位置?

让我们说我的单元格位于row=1column=2,理想情况下我想做的是:

var myTransform = myControl.TransformToVisual(???); //Refer to the cell in the grid
Point relativePosition = myTransform.Transform(new Point(0, 0));

我该怎么做?

修改

现在我只能用

获得相对于整个网格的位置
var myTransform = myControl.TransformToVisual(myGrid);
Point relativePosition = myTransform.Transform(new Point(0, 0));

编辑2

为了解决这个问题,我在该单元格上添加了一个画布并使用了

var myTransform = myControl.TransformToVisual(myCanvas);
Point relativePosition = myTransform.Transform(new Point(0, 0)); 

但这太丑了......

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码进行测试:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
  Console.WriteLine("Row: " + dataGridView1.CurrentCell.RowIndex.ToString() + " Cell: " + dataGridView1.CurrentCell.ColumnIndex.ToString());
}

它只返回当前的单元格和列索引。

希望有所帮助