Přidání dat do kolekce položek výběru

Zobrazení Výběr je ovládací prvek pro výběr textové položky ze seznamu dat. Tento článek vysvětluje, jak naplnit výběr dat přidáním do kolekce Položky a jak reagovat na výběr položek uživatelem.

Naplnění nástroje pro výběr daty

Xamarin.Forms Před verzí 2.3.4 byl proces naplnění Picker dat přidáním dat, která se mají zobrazit do kolekce jen Items pro čtení, což je typ IList<string>. Každá položka v kolekci musí být typu string. Položky lze přidat v XAML inicializací Items vlastnosti se seznamem x:String položek:

<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>

Ekvivalentní kód jazyka C# je uvedený níže:

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");

Kromě přidání dat pomocí Items.Add metody lze data také vložit do kolekce pomocí Items.Insert metody.

Reakce na výběr položky

A Picker podporuje výběr jedné položky najednou. Když uživatel vybere položku, SelectedIndexChanged událost se aktivuje a SelectedIndex vlastnost se aktualizuje na celé číslo představující index vybrané položky v seznamu. Vlastnost SelectedIndex je číslo založené na nule označující položku, kterou uživatel vybral. Pokud není vybrána žádná položka, což je případ prvního Picker vytvoření a inicializace, SelectedIndex bude -1.

Poznámka:

Chování výběru položek v systému Picker iOS lze přizpůsobit pomocí specifické platformy. Další informace naleznete v tématu Řízení výběru položky.

Následující příklad kódu ukazuje metodu OnPickerSelectedIndexChanged obslužné rutiny události, která se spustí při SelectedIndexChanged spuštění události:

void OnPickerSelectedIndexChanged(object sender, EventArgs e)
{
  var picker = (Picker)sender;
  int selectedIndex = picker.SelectedIndex;

  if (selectedIndex != -1)
  {
    monkeyNameLabel.Text = picker.Items[selectedIndex];
  }
}

Tato metoda získá SelectedIndex hodnotu vlastnosti a použije hodnotu k načtení vybrané položky z Items kolekce. Vzhledem k tomu, že každá položka v kolekci Items je , stringmohou být zobrazeny bez Label nutnosti přetypování.

Poznámka:

Hodnotu A Picker lze inicializovat tak, aby zobrazovala konkrétní položku nastavením SelectedIndex vlastnosti. SelectedIndex Vlastnost však musí být nastavena po inicializaci Items kolekce.