Esempio n. 1
0
        /// <summary>
        ///     Adds a player.
        /// </summary>
        /// <param name="player"> The player. </param>
        /// <returns>
        ///     A Player.
        /// </returns>
        Player AddPlayer(Player player)
        {
            var p = new Button
            {
                Dock = DockStyle.Fill,
                Text = $"{player.Name} ({player.Score})"
            };

            p.Click += (sender, args) =>
            {
                OnUserSelected?.Invoke(this, player);
            };
            var i = tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100));

            tableLayoutPanel1.Controls.Add(p, 0, i);
            return(player);
        }
        private async Task RefreshPageAsync()
        {
            MainStack.Children.Clear();
            List <DbUser> users = await App.Database.GetUsersAsync();

            foreach (DbUser user in users)
            {
                StackLayout layout = new StackLayout();
                layout.Orientation = StackOrientation.Horizontal;

                Button btnUser = new Button()
                {
                    Text = user.Name + " - " + user.PhoneNumber
                };
                btnUser.Clicked += async(sender, e) =>
                {
                    OnUserSelected?.Invoke(user);
                    await Navigation.PopModalAsync();
                };

                Button btnDelete = new Button();
                btnDelete.Text     = "X";
                btnDelete.Clicked += async(sender, e) =>
                {
                    await App.Database.DeleteUserAsync(user);
                    await RefreshPageAsync();

                    //Dar refresh a lista
                    //Navigation.
                };

                layout.Children.Add(btnUser);
                layout.Children.Add(btnDelete);

                MainStack.Children.Add(layout);
            }
        }