public void AddCurrentItem(SelectableColumn draggedItem, SelectableColumn target = null, bool isAfter = true) { DoOnMainThread(() => { SelectableColumns.Remove(draggedItem); CurrentColumns.Remove(draggedItem); if (target != null && CurrentColumns.Contains(target)) { CurrentColumns.Insert(CurrentColumns.IndexOf(target) + (isAfter ? 1 : 0), draggedItem); } else { CurrentColumns.Add(draggedItem); } RefreshIsFirstColumn(); }); }