我想在DataGrid事件中获取MouseDown的单击单元格。到目前为止,我还没有成功。
我试过了


dg.CurrentCell-包含上一个单击的单元格
dg.GetChildAt(...)-不起作用,因为未将单元格列为DataGrid的子级

最佳答案

您可以使用HitTest获取鼠标悬停的单元格。 (它不依赖于MouseDown -Event,您只需要相对于DataGrid的鼠标位置即可)

例:

Private Sub dg_MouseDown(sender As Object, e As MouseEventArgs) Handles dg.MouseDown
    Dim htinfo As HitTestInfo = dg.HitTest(new Point(e.X, e.Y))

    If htinfo.Type = HitTestType.Cell Then
        Dim clickedCell As DataGridCell = dg.Item(htinfo.Row, htinfo.Column)
    End If
End Sub

10-02 02:36