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 , string
mohou 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.