public DataGridRow GetRow(int index) { DataGridRow row = (DataGridRow)PlannerDataGrid.ItemContainerGenerator.ContainerFromIndex(index); if (row == null) { PlannerDataGrid.UpdateLayout(); PlannerDataGrid.ScrollIntoView(PlannerDataGrid.Items[index]); row = (DataGridRow)PlannerDataGrid.ItemContainerGenerator.ContainerFromIndex(index); } return(row); }
public DataGridCell GetCell(int row, int column) { DataGridRow rowContainer = GetRow(row); if (rowContainer != null) { DataGridCellsPresenter presenter = GetVisualChild <DataGridCellsPresenter>(rowContainer); DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column); if (cell == null) { PlannerDataGrid.ScrollIntoView(rowContainer, PlannerDataGrid.Columns[column]); cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column); } return(cell); } return(null); }