Кнопки

Последнее обновление: 09.01.2021

Для произведения какого-либо действия нам понадобятся кнопки, представленные классом Button. Создадим кнопку в коде:

using Xamarin.Forms;

namespace HelloApp
{
    class MainPage : ContentPage
    {
        public MainPage()
        {
            StackLayout stackLayout = new StackLayout();

            Button button = new Button
            {
                Text = "Нажми!",
                FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)),
                BorderWidth = 1,
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.CenterAndExpand
            };
            button.Clicked += OnButtonClicked;
            stackLayout.Children.Add(button);
            this.Content = stackLayout;
        }

        private void OnButtonClicked(object sender, System.EventArgs e)
        {
            Button button = (Button)sender;
            button.Text = "Нажато!";
            button.BackgroundColor = Color.Red;
        }
    }
}

Для кнопки можно задать обработчик нажатия для события Clicked. В данном случае по нажатию просто изменяем текст и цвет фона кнопки.

Обрботчик во многим аналогичен стандартным обработчикам в Windows Forms. Он принимает два параметра: объект типа object (источника события) и System.EventArgs (аргумент события, хранящий некоторую дополнительную информацию).

Анлогичная кнопка в xaml:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="HelloApp.MainPage">

  <StackLayout>
    <Button Text = "Нажми!" FontSize="Large" BorderWidth="1"
        HorizontalOptions="Center" VerticalOptions="CenterAndExpand"
        Clicked="OnButtonClicked" />
  </StackLayout>
</ContentPage>

И тогда в файле отделенного кода MainPage.xaml.cs еще надо прописать обработчик OnButtonClicked:

using Xamarin.Forms;

namespace HelloApp
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }
        private void OnButtonClicked(object sender, System.EventArgs e)
        {
            Button button = (Button)sender;
            button.Text = "Нажато!";
            button.BackgroundColor = Color.Red;
        }
    }
}
Кнопка в Xamarin Forms

Кнопка имеет много различных свойств, из которых следует выделить следующие:

  • FontFamily: шрифт, который используется для текста на кнопке

  • FontSize: размер текста на кнопке

  • FontAttributes: выделение жирным или курсивом текста на кнопке

  • TextColor: цвет шрифта

  • BorderColor: цвет границы

  • BorderWidth: ширина границы

  • CornerRadius: радиус границы

  • Image: позволяет задать изображение на кнопке

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850