public EagleWingsSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalAlignment = HorizontalAlignment.Left; _deckGPile.VerticalAlignment = VerticalAlignment.Top; _discardGPile = new BasePileWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >(); _discardGPile.Margin = new Thickness(5); _discardGPile.HorizontalAlignment = HorizontalAlignment.Left; _discardGPile.VerticalAlignment = VerticalAlignment.Top; StackPanel stack = new StackPanel(); StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); _main = new BasicMultiplePilesWPF <SolitaireCard, ts, DeckOfCardsWPF <SolitaireCard> >(); _main.Margin = new Thickness(10, 5, 5, 5); var autoBut = GetGamingButton("Auto Make Move", nameof(EagleWingsSolitaireMainViewModel.AutoMoveAsync)); //not sure where to place it. //it probably varies from game to game. var scoresAlone = new SimpleLabelGrid(); scoresAlone.AddRow("Score", nameof(EagleWingsSolitaireMainViewModel.Score)); scoresAlone.AddRow("Starting Number", nameof(EagleWingsSolitaireMainViewModel.StartingNumber)); var tempGrid = scoresAlone.GetContent; //not sure where to place. _waste = new PlaneUI(); _waste.Margin = new Thickness(30, 30, 0, 0); StackPanel tempStack = new StackPanel(); tempStack.Orientation = Orientation.Horizontal; stack.Children.Add(otherStack); stack.Children.Add(tempGrid); stack.Children.Add(autoBut); tempStack.Children.Add(stack); stack = new StackPanel(); stack.Children.Add(_main); stack.Children.Add(_waste); tempStack.Children.Add(stack); Content = tempStack; }
public EagleWingsSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalOptions = LayoutOptions.Start; _deckGPile.VerticalOptions = LayoutOptions.Start; _discardGPile = new BasePileXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _discardGPile.Margin = new Thickness(5); _discardGPile.HorizontalOptions = LayoutOptions.Start; _discardGPile.VerticalOptions = LayoutOptions.Start; StackLayout stack = new StackLayout(); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); _main = new BasicMultiplePilesXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _main.Margin = new Thickness(0, 5, 5, 5); stack.Children.Add(otherStack); var autoBut = GetSmallerButton("Auto Make Move", nameof(EagleWingsSolitaireMainViewModel.AutoMoveAsync)); var scoresAlone = new SimpleLabelGridXF(); scoresAlone.AddRow("Score", nameof(EagleWingsSolitaireMainViewModel.Score)); scoresAlone.AddRow("Starting Number", nameof(EagleWingsSolitaireMainViewModel.StartingNumber)); var tempGrid = scoresAlone.GetContent; _waste = new PlaneUI(); //_waste.Margin = new Thickness(30, 30, 0, 0); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); StackLayout tempStack = new StackLayout(); tempStack.Orientation = StackOrientation.Horizontal; stack.Children.Add(otherStack); stack.Children.Add(tempGrid); stack.Children.Add(autoBut); tempStack.Children.Add(stack); stack = new StackLayout(); stack.Children.Add(_main); stack.Children.Add(_waste); tempStack.Children.Add(stack); Content = tempStack; }