DataGrid 如何得到DataGridRow 和DataGridCell 对象
第一行为不可编辑 DataGridRow row = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(0); if (row == null) { dataGrid1.UpdateLayout(); row = (DataGridRow)dataGrid1.ItemContainerGenerator.ContainerFromIndex(0); } row.IsEnabled = false; public static T GetVisualChild<T>(Visual parent) where T : Visual { T childContent = default(T); int numVisuals = VisualTreeHelper.GetChildrenCount(parent); for (int i = 0; i < numVisuals; i++) { Visual v = (Visual)VisualTreeHelper.GetChild(parent, i); childContent = v as T; if (childContent == null) { childContent = GetVisualChild<T>(v); } if (childContent != null) { break; } } return childContent; } //第二行第一列不可编辑 DataGridRow rowContainer = GetDataGridRow(dataGrid1, 1); if (rowContainer != null) { DataGridCellsPresenter presenter = GetVisualChild<DataGridCellsPresenter>(rowContainer); DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(1); if (cell == null) { dataGrid1.ScrollIntoView(rowContainer, dataGrid1.Columns[0]); cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(0); } cell.IsEnabled = false; }
以上只是个人想法和实践经验所得,如果有文字错误和语法错误,请加以指点!
QQ:247039968
emil:wujc@younger.com
无论是美女的歌声,还是鬣狗的狂吠,无论是鳄鱼的眼泪,还是恶狼的嚎叫,都不会使我动摇

浙公网安备 33010602011771号