public async Task AddCardsToGrid() { int row = 0; int col = 0; GridDeck.SetCardSize(Deck.Cards[0]); LayoutRoot.UpdateLayout(); foreach (CardView card in Deck.Cards) { GridDeck.SetCardSize(card); card.Reset(); card.HorizontalAlignment = HorizontalAlignment.Left; card.VerticalAlignment = VerticalAlignment.Top; Grid.SetRow(card, row); Grid.SetColumn(card, col); Grid.SetRowSpan(card, 8); //this is required so the cards don't get clipped Grid.SetColumnSpan(card, 8); //this is required so the cards don't get clipped Canvas.SetZIndex(card, 100 + card.Index); if (LayoutRoot.Children.Contains(card) == false) { GridDeck.Items.Add(card); LayoutRoot.Children.Add(card); } } List <Task <object> > taskList = new List <Task <object> >(); ScatterCards(GridDeck.Items, 0, taskList); await Task.WhenAll(taskList); await PostUpdateAllCards(MainPage.AnimationSpeeds.Slow, true); }
public async void UpdateAllCardGrids(double duration = Double.MaxValue, bool rotate = false) { foreach (CardView card in Deck.Cards) { GridDeck.SetCardSize(card); } List <Task <object> > taskList = new List <Task <object> >(); GridDeck.UpdateCardLayout(taskList, duration, rotate); GridPlayer.UpdateCardLayout(taskList, duration, rotate); GridComputer.UpdateCardLayout(taskList, duration, rotate); GridPlayedCards.UpdateCardLayout(taskList, duration, rotate); GridCrib.UpdateCardLayout(taskList, duration, rotate); await Task.WhenAll(taskList); }