protected override Task DeactivateChildAsync(ComponentBase removed) { // Remove the child. var row = Grid.GetRow(removed.GetView()); _grid.Children.Remove((View)removed.GetView()); if (_grid.Children.Count == 0) { return(Task.CompletedTask); } // Move all subsequent children up a row. foreach (var child in Children.Where(child => Grid.GetRow(child.GetView()) > row)) { Grid.SetRow(child.GetView(), Grid.GetRow(child.GetView()) - 1); } return(Task.CompletedTask); }
protected override Task ActivateChildAsync(ComponentBase child) { // Add children to the bottom of the list. _grid.Children.AddVertical((View)child.GetView()); return(Task.CompletedTask); }