第一行为不可编辑 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;                }DataGrid 如何得到DataGridRow 和DataGridCell 对象
原文:http://www.cnblogs.com/qq247039968/p/4567266.html