int iCount = this.dataGridCancelOrderList.Items.Count; for (int i = 0; i < iCount; i++) { var cntr = this.dataGridCancelOrderList.ItemContainerGenerator.ContainerFromIndex(i); DataGridRow ObjROw = (DataGridRow)cntr; if (ObjROw != null) { DataGridTemplateColumn templeColumn = dataGridCancelOrderList.Columns[0] as DataGridTemplateColumn;//0列为checkBox if (templeColumn != null) { FrameworkElement objElement = templeColumn.GetCellContent(ObjROw); if (null != objElement) { System.Windows.Controls.CheckBox checkBox = templeColumn.CellTemplate.FindName("checkBox", objElement) as System.Windows.Controls.CheckBox; checkBox.IsChecked = IsSelectAll; } } } }
public static DataGridRow GetDoubleClickRow(DataGrid dataGrid) { try { if (dataGrid == null) return null; Point point = Mouse.GetPosition(dataGrid); IInputElement inputElement = dataGrid.InputHitTest(point); DependencyObject target = inputElement as DependencyObject; if (target is TextBlock) { while (target != null) { if (target is DataGridRow) { DataGridRow dr = target as DataGridRow; return dr; } target = VisualTreeHelper.GetParent(target); } } } catch (Exception ex) { Debug.WriteLine("获取双击行出错:"+ex.Message); } return null; }