internal void Edit() { if (EditBox != null) { EndEdit(true); } if (FocusItem == null) { return; } ScrollIntoView(FocusItem.Index); EditItem = FocusItem.Source as ITableRow; if (EditItem != null && EditItem.GetRowInfo() is CellInfo[] cells && CellInfo.GetFocusColumn(cells, FocusColumn) is int editColumn && editColumn >= 0 && editColumn < cells.Length) { EditColumn = editColumn; EditBox = new EditBox(cells[EditColumn], EditItem.GetEditValues(EditColumn)); EditBox.SelectionChanged += EditBox_SelectionChanged; RefreshEdit(); }