Stepper позволяет устанавливать числовое значение:
using Xamarin.Forms; using System; namespace HelloApp { public partial class MainPage : ContentPage { Label header; public MainPage() { header = new Label { Text = "Stepper", FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)), HorizontalOptions = LayoutOptions.Center }; Stepper stepper = new Stepper { Minimum = 0, Maximum = 10, Increment = 0.1, HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.CenterAndExpand }; stepper.ValueChanged += OnStepperValueChanged; this.Content = new StackLayout { Children = { header, stepper } }; } private void OnStepperValueChanged(object sender, ValueChangedEventArgs e) { header.Text = String.Format("Выбрано: {0:F1}", e.NewValue); } } }
Stepper позволяет установить ряд свойств, который настраивают его поведение:
Minimum: устанавливает минимальное значение
Maximum: устанавливает максимальное значение
Increment: устанавливает шаг изменения значения
Для отслеживания изменения значения можно обработать событие ValueChanged
Stepper в xaml:
<StackLayout> <Label x:Name="header" Text="Stepper" FontSize="Large" /> <Stepper Minimum="0" Maximum="10" Increment="0.1" ValueChanged="OnStepperValueChanged" /> </StackLayout>
А в файле связанного кода прописать обработчик OnStepperValueChanged:
private void OnStepperValueChanged(object sender, ValueChangedEventArgs e) { if (header != null) header.Text = String.Format("Выбрано: {0:F1}", e.NewValue); }
Slider представляет собой горизонтальный ползунок и во многих аспектах он похож на Stepper. Среди его свойств можно выделить следующие:
Minimum: устанавливает минимальное значение
Maximum: устанавливает максимальное значение
Value: текущее значение
ThumbColor: цвет указателя текущего значения
MinimumTrackColor: цвет ползунка до указателя значения
MaximumTrackColor: цвет ползунка после указателя значения
Например, определение в коде C#
using Xamarin.Forms; using System; namespace HelloApp { public partial class MainPage : ContentPage { Label header; public MainPage() { header = new Label { Text = "Slider", FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)), HorizontalOptions = LayoutOptions.Center }; Slider slider = new Slider { Minimum = 0, Maximum = 50, Value = 30 ThumbColor=Color.DeepPink, MinimumTrackColor=Color.DeepPink, MaximumTrackColor=Color.Gray }; slider.ValueChanged += slider_ValueChanged; this.Content = new StackLayout { Children = { header, slider } }; } void slider_ValueChanged(object sender, ValueChangedEventArgs e) { header.Text = String.Format("Выбрано: {0:F1}", e.NewValue); } } }
Slider также позволяет установить минимальное и максимальное, а также текущее значение. И также изменение значения можно обработать с
помощью обработки события ValueChanged
Аналогичный слайдер в xaml:
<StackLayout> <Label x:Name="header" Text="Slider" FontSize="Large" /> <Slider Minimum="0" Maximum="50" Value="30" ValueChanged="slider_ValueChanged" MinimumTrackColor="DeepPink" MaximumTrackColor="Gray" ThumbColor="DeepPink" /> </StackLayout>
И в файле связанного кода пропишем обработчик slider_ValueChanged:
void slider_ValueChanged(object sender, ValueChangedEventArgs e) { if(header!=null) header.Text = String.Format("Выбрано: {0:F1}", e.NewValue); }