Переключатель Switch

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

Элемент Switch представляет переключатель, который может находиться в двух состояниях: включенном и выключенном.

Среди свойств класса Switch стоит выделить следующие:

  • IsToggled: указывает, находится ли Switch во включенном состоянии (значение true) или выключенном (значение false)

  • ThumbColor: цвет кнопки переключателя

  • OnColor: цвет переключателя во включенном состоянии

Создадим элемент Switch s коде C#:

using Xamarin.Forms;
using System;

namespace HelloApp
{
    public partial class MainPage : ContentPage
    {

        Label label;

        public MainPage()
        {
            Label header = new Label
            {
                Text = "Переключатель",
                FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
                HorizontalOptions = LayoutOptions.Center
            };

            Switch switcher = new Switch
            {
                IsToggled = true,
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.CenterAndExpand
            };
            switcher.Toggled += switcher_Toggled;
            label = new Label
            {
                FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
                HorizontalOptions = LayoutOptions.Center,
                VerticalOptions = LayoutOptions.CenterAndExpand
            };
            this.Content = new StackLayout { Children = { header, switcher, label } };
        }

        private void switcher_Toggled(object sender, ToggledEventArgs e)
        {
            label.Text = $"Значение {e.Value}";
        }
    }
}

Если надо установить переключатель в определенное состояние, то применяется свойство IsToggled. По умолчанию оно имеет значение false. Чтобы отследить смену состояния, мы можем обработать событие Toggled

Switch и checkbox в Xamarin Forms

Аналог в xaml:

 <StackLayout>
    <Label Text="Переключатель" FontSize="Large" HorizontalOptions="Center" />
    <Switch IsToggled="true" VerticalOptions="CenterAndExpand" 
              HorizontalOptions="Center" Toggled= "switcher_Toggled" />
    <Label x:Name="label" FontSize="Large"  
		HorizontalOptions = "Center" VerticalOptions = "CenterAndExpand" />
  </StackLayout>
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850