共用方式為


將資料新增到 Picker 的項目集合

選擇器檢視是從資料清單中選取文字專案的控件。 本文說明如何將選擇器新增至 Items 集合,以及如何回應使用者的項目選取專案,以填入選擇器。

使用數據填入選擇器

在 Xamarin.Forms 2.3.4 之前,填入 Picker 資料的程式是將資料新增至唯讀 Items 集合,其類型 IList<string>為 。 集合中的每個項目都必須是類型 string。 透過使用專案清單x:String初始化 Items 屬性,即可在 XAML 中新增專案:

<Picker Title="Select a monkey"
        TitleColor="Red">
  <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", TitleColor = Color.Red };
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 中。

回應項目選取

支援 Picker 一次選取一個專案。 當使用者選取專案時, SelectedIndexChanged 會引發 事件,並將 SelectedIndex 屬性更新為整數,代表清單中選取專案的索引。 屬性 SelectedIndex 是以零起始的數位,表示用戶選取的專案。 如果未選取任何專案,則第一次建立和初始化 SelectedIndexPicker的情況會是 -1。

注意

中的 Picker 項目選取行為可以在iOS上使用平臺特定來自定義。 如需詳細資訊,請參閱 控制選擇器項目選取範圍。

下列程式代碼範例顯示 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 專案都是 string,所以不需要轉換即可由 Label 顯示。

注意

Picker可以藉由設定 SelectedIndex 屬性,初始化 以顯示特定專案。 不過, SelectedIndex 在初始化 Items 集合之後,必須設定 屬性。