public TriangleSolitaireMainView(IEventAggregator aggregator)
        {
            _aggregator = aggregator;
            _aggregator.Subscribe(this);
            _deckGPile    = new BaseDeckWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >();
            _discardGPile = new BasePileWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >();
            _triangle     = new TriangleWPF();
            StackPanel stack = new StackPanel();

            _deckGPile.Margin = new Thickness(5, 5, 5, 5);
            _deckGPile.HorizontalAlignment = HorizontalAlignment.Left;
            _deckGPile.VerticalAlignment   = VerticalAlignment.Top;

            _discardGPile.Margin = new Thickness(5);
            _discardGPile.HorizontalAlignment = HorizontalAlignment.Left;
            _discardGPile.VerticalAlignment   = VerticalAlignment.Top;
            StackPanel other = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };

            other.Children.Add(_deckGPile);
            other.Children.Add(_discardGPile);
            other.Children.Add(_triangle);
            stack.Children.Add(other);
            Content = stack; //if not doing this, rethink.
        }
Esempio n. 2
0
        public PyramidSolitaireMainView(IEventAggregator aggregator)
        {
            _aggregator = aggregator;
            _aggregator.Subscribe(this);
            _deckGPile           = new BaseDeckWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >();
            _discardGPile        = new BasePileWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >();
            _discardGPile.Margin = new Thickness(5);
            _discardGPile.HorizontalAlignment = HorizontalAlignment.Left;
            _discardGPile.VerticalAlignment   = VerticalAlignment.Top;
            StackPanel stack = new StackPanel();

            _currentCard = new BasePileWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >();
            _playerBoard = new CardBoardWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >();
            _triangle    = new TriangleWPF();
            var playButton = GetGamingButton("Play Selected Cards", nameof(PyramidSolitaireMainViewModel.PlaySelectedCardsAsync));

            _deckGPile.Margin = new Thickness(5, 5, 5, 5);
            _deckGPile.HorizontalAlignment = HorizontalAlignment.Left;
            _deckGPile.VerticalAlignment   = VerticalAlignment.Top;

            StackPanel other = new StackPanel()
            {
                Orientation = Orientation.Horizontal
            };

            other.Children.Add(_deckGPile);
            other.Children.Add(_discardGPile);
            other.Children.Add(_currentCard);
            other.Children.Add(_triangle);
            stack.Children.Add(other);
            stack.Children.Add(_playerBoard);

            playButton.HorizontalAlignment = HorizontalAlignment.Left;
            playButton.VerticalAlignment   = VerticalAlignment.Top;
            stack.Children.Add(playButton);
            var thisLabel = new SimpleLabelGrid();

            thisLabel.AddRow("Score", nameof(PyramidSolitaireMainViewModel.Score));
            stack.Children.Add(thisLabel.GetContent);

            Content = stack; //if not doing this, rethink.
        }