Пример #1
0
        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);
        }
Пример #2
0
        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);
        }