Визуально Picker представляет собой обычное текстовое поле, по нажатию на которое открывается список для выбора, что-то наподобие выпадающего списка:
public partial class MainPage : ContentPage { Label header; Picker picker; public MainPage() { header = new Label { Text = "Выберите язык", FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)) }; picker = new Picker { Title = "Язык" }; picker.Items.Add("C#"); picker.Items.Add("JavaScript"); picker.Items.Add("Java"); picker.Items.Add("PHP"); picker.SelectedIndexChanged += picker_SelectedIndexChanged; this.Content = new StackLayout { Children = { header, picker } }; } void picker_SelectedIndexChanged(object sender, EventArgs e) { header.Text = "Вы выбрали: " + picker.Items[picker.SelectedIndex]; } }
Picker содержит список для выбора, а отследить выбранный элемент мы можем с помощью обработчик события SelectedIndexChanged
.
Аналог в xaml:
<StackLayout> <Label x:Name="header" Text="Языки программирования" FontSize="Large" /> <Picker x:Name="picker" SelectedIndexChanged="picker_SelectedIndexChanged"> <Picker.Items> <x:String>C#</x:String> <x:String>C/C++</x:String> <x:String>JavaScript</x:String> <x:String>PHP</x:String> </Picker.Items> </Picker> </StackLayout>
И тогда в файл связанного кода надо добавить обработчик события:
void picker_SelectedIndexChanged(object sender, EventArgs e) { header.Text = "Вы выбрали: " + picker.Items[picker.SelectedIndex]; }