Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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)
- {
- datagrid_arinc_const.ScrollIntoView(rowContainer, datagrid_arinc_const.Columns[column]);
- cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column);
- }
- return cell;
- }
- return null;
- }
- public DataGridRow GetRow(int index)
- {
- DataGridRow row = (DataGridRow)datagrid_arinc_const.ItemContainerGenerator.ContainerFromIndex(index);
- if (row == null)
- {
- datagrid_arinc_const.UpdateLayout();
- datagrid_arinc_const.ScrollIntoView(datagrid_arinc_const.Items[index]);
- row = (DataGridRow)datagrid_arinc_const.ItemContainerGenerator.ContainerFromIndex(index);
- }
- return row;
- }
- public static T GetVisualChild<T>(Visual parent) where T : Visual
- {
- T child = default(T);
- int numVisuals = VisualTreeHelper.GetChildrenCount(parent);
- for (int i = 0; i < numVisuals; i++)
- {
- Visual v = (Visual)VisualTreeHelper.GetChild(parent, i);
- child = v as T;
- if (child == null)
- {
- child = GetVisualChild<T>(v);
- }
- if (child != null)
- {
- break;
- }
- }
- return child;
- }
- <DataGrid VirtualizingStackPanel.IsVirtualizing="False"/>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement