将数据添加到选择器的项目集合
选择器视图是用于从数据列表中选择文本项的控件。本文介绍如何通过将数据添加到“项目”集合中以及如何响应用户选择的项目来填充选择器。
用数据填充选择器
在Xamarin.Forms 2.3.4之前,Picker
使用数据填充的过程是将要显示的数据添加到只读Items
集合的类型IList<string>
。集合中的每个项目必须是类型string
。可以通过Items
使用x:String
项目列表初始化属性来在XAML中添加项目:
<Picker Title="Select a monkey">
<Picker.Items>
<x:String>Baboon</x:String>
<x:String>Capuchin Monkey</x:String>
<x:String>Blue Monkey</x:String>
<x:String>Squirrel Monkey</x:String>
<x:String>Golden Lion Tamarin</x:String>
<x:String>Howler Monkey</x:String>
<x:String>Japanese Macaque</x:String>
</Picker.Items>
</Picker>
等效的C#代码如下所示:
var picker = new Picker { Title = "Select a monkey" };
picker.Items.Add("Baboon");
picker.Items.Add("Capuchin Monkey");
picker.Items.Add("Blue Monkey");
picker.Items.Add("Squirrel Monkey");
picker.Items.Add("Golden Lion Tamarin");
picker.Items.Add("Howler Monkey");
picker.Items.Add("Japanese Macaque");
除了使用该Items.Add
方法添加数据之外,还可以使用该方法将数据插入到集合中Items.Insert
。
响应项目选择
A Picker
支持一次选择一个项目。当用户选择一个项目时,该SelectedIndexChanged
事件触发,该SelectedIndex
属性被更新为表示列表中所选项目的索引的整数。该SelectedIndex
属性是一个基于零的数字,表示用户选择的项目。如果没有选择任何项目,Picker
则首次创建和初始化时SelectedIndex
将是-1。
以下代码示例显示OnPickerSelectedIndexChanged
事件处理程序方法,该方法在SelectedIndexChanged
事件触发时执行:
void OnPickerSelectedIndexChanged(object sender, EventArgs e)
{
var picker = (Picker)sender;
int selectedIndex = picker.SelectedIndex;
if (selectedIndex != -1)
{
monkeyNameLabel.Text = picker.Items[selectedIndex];
}
}
此方法获取SelectedIndex
属性值,并使用该值从Items
集合中检索所选项。因为Items
集合中的每个项目都是a string
,所以它们可以被显示Label
而不需要转换。
Picker
可以通过设置SelectedIndex
属性来初始化A 来显示特定的项目。但是,SelectedIndex
必须在初始化集合后设置属性Items
。
概要
该Picker
视图是用于从数据列表中选择文本项的控件。本文介绍了如何Picker
通过将数据添加到Items
集合中来填充数据,以及如何响应用户选择项目。这是使用Picker
Xamarin.Forms 2.3.4之前的过程。