public void MaximiseItem(View pItem) { if (RestoreList == null) { RestoreList = new List <ItemState>(); base.BatchBegin(); foreach (var child in Children) { var restoreitem = new ItemState(child); RestoreList.Add(restoreitem); if (!child.Equals(pItem)) { restoreitem.SetVisibility(child, false); } } Grid.SetRow(pItem, 0); Grid.SetColumn(pItem, 0); Grid.SetRowSpan(pItem, RowDefinitions.Count); Grid.SetColumnSpan(pItem, ColumnDefinitions.Count); base.BatchCommit(); DelayedInvalidateLayout(); } }