private void OnCellRequestBringIntoView(object sender, RequestBringIntoViewEventArgs e) { Cell cell = e.Source as Cell; if (cell == null) { return; } // Make sure the the current row if the cell's parent row. Row parentRow = cell.ParentRow; if (parentRow != m_parentRow) { this.Unregister(cell); return; } // Do not process the bring into view for a templated cell. if (this.IsTemplatedCell(cell)) { return; } IVirtualizingCellsHost cellsHost = parentRow.CellsHostPanel as IVirtualizingCellsHost; if (cellsHost != null) { e.Handled = cellsHost.BringIntoView(cell); } }
public void SetCellLogicalParent(UIElement targetElement) { IVirtualizingCellsHost virtualizingCellsHost = m_parentFixedCellPanel as IVirtualizingCellsHost; if ((virtualizingCellsHost != null) && (virtualizingCellsHost.CanModifyLogicalParent == false)) { this.SetLogicalParent(targetElement); } }