Exemple #1
0
        public void StartGame(IAi aiModule)
        {
            _ai = aiModule;
            //use the aiModule to calculate the computer movements. (probably inject to logic!)
            _model = new MillModel();

            // nézemodell létrehozása
            _viewModel = new MillViewModel(_model);
            //_viewModel.GameEnded += GameEnded;

            // nézet létrehozása
            _view             = new MainWindow();
            _view.DataContext = _viewModel;
            _view.Show();
        }
Exemple #2
0
        public MillListPage()
        {
            //_viewModel = new MillViewModel();
            //MillList = new ObservableCollection<Mill>();
            //ExecuteLoadMillsCommand();
            InitializeComponent();
            BindingContext = _viewModel = new MillViewModel();



            #region Data Templete Content
            DataTemplate dataTemplete = new DataTemplate(() =>
            {
                #region Label Content
                Label memberNamelabel = new Label {
                    TextColor = Color.Black
                };
                memberNamelabel.SetBinding(Label.TextProperty, "MemberName");

                StackLayout breakFastLabel = new StackLayout
                {
                    HeightRequest = 100,
                    Children      = { new Frame {
                                          Padding       = new Thickness(5, 0),
                                          CornerRadius  = 50,
                                          HeightRequest = 100,
                                          Content       = new Label {
                                              TextColor         = Color.White,
                                              BackgroundColor   = Color.Red,
                                              Text              = "NO",
                                              Padding           = new Thickness(0, 0),
                                              HorizontalOptions = LayoutOptions.Center
                                          }
                                      } }
                };



                #endregion

                #region Image Content
                Image image = new Image
                {
                    Source        = "croppedmembericon.png",
                    HeightRequest = 200
                };
                #endregion

                #region Grid Content
                Grid grid = new Grid();
                grid.RowDefinitions.Add(new RowDefinition {
                    Height = GridLength.Star
                });
                grid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(.2, GridUnitType.Star)
                });
                grid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(.5, GridUnitType.Star)
                });
                grid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(.1, GridUnitType.Star)
                });
                grid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(.1, GridUnitType.Star)
                });
                grid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(.1, GridUnitType.Star)
                });
                grid.Children.Add(image);
                grid.Children.Add(memberNamelabel);
                grid.Children.Add(breakFastLabel);
                Grid.SetColumn(image, 0);
                Grid.SetColumn(memberNamelabel, 1);
                Grid.SetColumn(breakFastLabel, 2);
                #endregion

                #region Frame Content
                var frame = new Frame
                {
                    BorderColor  = Color.Gray,
                    CornerRadius = 5,
                    Padding      = 8,
                    Content      = new StackLayout
                    {
                        Children =
                        {
                            grid
                        }
                    }
                };
                #endregion

                return(new ViewCell
                {
                    View = new StackLayout
                    {
                        Padding = new Thickness(0, 5),
                        Orientation = StackOrientation.Horizontal,
                        Children =
                        {
                            frame
                        }
                    }
                });
            });

            #endregion

            #region Collection View Content
            CollectionView collectionView = new CollectionView
            {
                ItemsSource   = MillList,
                SelectionMode = SelectionMode.None
            };
            collectionView.ItemTemplate = dataTemplete;

            #endregion

            #region ListView Content
            ListView listView = new ListView
            {
                // Source of data items.
                ItemsSource  = MillList,
                ItemTemplate = dataTemplete
            };
            #endregion

            #region Refresh View Content
            RefreshView refreshView = new RefreshView();

            ICommand refreshCommand = new Command(() =>
            {
                // IsRefreshing is true
                // Refresh data here
                refreshView.IsRefreshing = IsBusy;
            });
            refreshView.Command      = LoadMillsCommand;
            refreshView.IsRefreshing = IsBusy;
            refreshView.Content      = listView;

            //  collectionView.SetBinding(ItemsView.ItemsSourceProperty, "MillId"); ;
            #endregion

            #region Image Content
            var imageButton = new ImageButton
            {
                Source        = "plus.png",
                HeightRequest = 40,
                WidthRequest  = 40,
                CornerRadius  = 10,
                Command       = _viewModel.AddMillCommand
            };

            #endregion

            #region Absolute Layout Content
            var absoluteLayout = new AbsoluteLayout
            {
                Children = { refreshView, imageButton }
            };
            AbsoluteLayout.SetLayoutBounds(imageButton, new Rectangle(0.95, 0.95, 80, 80));
            AbsoluteLayout.SetLayoutFlags(imageButton, AbsoluteLayoutFlags.PositionProportional);
            #endregion

            this.Padding = new Thickness(10, Device.OnPlatform(20, 0, 0), 10, 5);
            //Content = absoluteLayout;
        }