/// <summary>判断datagrid是否点击的数据行 /// </summary> public static bool IsDataGridRowClick(DataGrid dg, MouseButtonEventArgs e) { System.Windows.Point aP = e.GetPosition(dg); IInputElement obj = dg.InputHitTest(aP); System.Windows.DependencyObject target = obj as System.Windows.DependencyObject; int i = 0; while (target != null && i < 10000) { if (target is System.Windows.Controls.DataGridRow) { return true; } target = System.Windows.Media.VisualTreeHelper.GetParent(target); i++; } return false;