internal void ArrangeCell(GridCellEditorModel cell) { var pair = cell.Container as Tuple <FrameworkElement, FrameworkElement, FrameworkElement>; if (pair == null || pair.Item2 == null) { return; } RadRect layoutSlot = cell.Column.ApplyLayoutSlotAlignment(cell); var rect = this.Owner.InflateEditCellHorizontally(cell, layoutSlot); rect = this.Owner.InflateEditCellVertically(cell, rect); if (this.Owner.EditRowLayer.EditorLayoutSlots.ContainsKey(cell)) { this.Owner.EditRowLayer.EditorLayoutSlots[cell] = rect; } else { this.Owner.EditRowLayer.EditorLayoutSlots.Add(cell, rect); } pair.Item2.Arrange(rect.ToRect()); if (this.focusFirstEditor) { var control = pair.Item1 as Control; if (control != null && control.IsTabStop) { control.Focus(FocusState.Programmatic); } this.focusFirstEditor = false; } }
internal Size MeasureCell(GridCellEditorModel cell, double availableWidth) { return(cell.Column.MeasureEditCell(cell, availableWidth).ToSize()); }