コード例 #1
0
        protected override View CreateContent()
        {
            var grid = CreateGrid(style.Padding, 3 + _additionalButtons.Count());


            _titleLabel = CreateLabel(style.TitleLabelStyle, _title);

            _messageLabel = CreateLabel(style.BodyLabelStyle, _message);


            grid.Children.Add(_titleLabel, 0, 0);
            grid.Children.Add(_messageLabel, 0, 1);

            _okButton = CreateSheetButton(style.PrimaryButtonStyle, _primaryButtonText);


            _okButton.Clicked += (sender, e) =>
            {
                Hide();
                ButtonTapped(this, new AlertSheetEventArgs(0));
            };


            grid.Children.Add(_okButton, 0, 2);

            for (int i = 0; i < _additionalButtons.Length; i++)
            {
                CreateSecondaryButton(grid, i);
            }


            return(grid);
        }
コード例 #2
0
        protected SheetButton CreateSheetButton(SheetButtonStyle style, string text)
        {
            var button = new SheetButton()
            {
                Text = text
            };

            style.ApplyTo(button);
            return(button);
        }
コード例 #3
0
 internal void ApplyTo(SheetButton button)
 {
     button.BackgroundColor = BackgroundColor;
     button.BorderColor     = BorderColor;
     button.BorderWidth     = BorderWidth;
     button.BorderRadius    = BorderRadius;
     button.FontAttributes  = FontAttributes;
     button.FontSize        = FontSize;
     button.FontFamily      = FontFamily;
     button.TextAlignment   = TextAlignment;
     button.TextColor       = TextColor;
     button.Margin          = Margin;
 }
コード例 #4
0
ファイル: InputPopup.cs プロジェクト: benbishop/prompt-sheet
        protected override View CreateContent()
        {
            var grid = new Grid()
            {
                BackgroundColor = Color.Transparent,
                Padding         = new Thickness(5, 20, 5, 5),
                RowDefinitions  = new RowDefinitionCollection()
                {
                    new RowDefinition()
                    {
                        Height = new GridLength(1, GridUnitType.Auto)
                    },
                    new RowDefinition()
                    {
                        Height = new GridLength(1, GridUnitType.Auto)
                    },
                }
            };

            for (int i = 0; i < _buttons.Length; i++)
            {
                grid.RowDefinitions.Add(new RowDefinition()
                {
                    Height = new GridLength(1, GridUnitType.Auto)
                });
            }

            _titleLabel = CreateLabel(style.TitleLabelStyle, _title);

            _messageLabel = CreateLabel(style.BodyLabelStyle, _message);

            _input = CreateEntry(style.EntryStyle, _inputOptions);

            _input.Completed += (sender, e) =>
            {
                Finish();
            };

            for (int i = 0; i < _buttons.Length; i++)
            {
                SheetButton button = null;

                if (i == 0)
                {
                    button = CreateSheetButton(style.PrimaryButtonStyle, _buttons[0]);
                }
                else
                {
                    button = CreateSheetButton(style.SecondaryButtonStyle, _buttons[i]);
                }

                button.Clicked += (sender, e) =>
                {
                    Hide();
                    var senderText = (sender as Button).Text;
                    _result.TrySetResult(new InputResult()
                    {
                        ButtonIndex = _buttons.ToList().IndexOf(senderText), InputText = _input.Text
                    });
                };
                grid.Children.Add(button, 0, 3 + i);
            }

            grid.Children.Add(_titleLabel, 0, 0);
            grid.Children.Add(_messageLabel, 0, 1);
            grid.Children.Add(_input, 0, 2);

            return(grid);
        }