Hinzufügen von Daten zur Elementsammlung einer Auswahl
Die Auswahlansicht ist ein Steuerelement zum Auswählen eines Textelements aus einer Liste von Daten. In diesem Artikel wird erläutert, wie Sie eine Auswahl mit Daten auffüllen, indem Sie sie der Items-Auflistung hinzufügen, und wie Sie auf die Elementauswahl durch den Benutzer reagieren.
Auffüllen einer Auswahl mit Daten
Xamarin.Forms Vor Version 2.3.4 bestand der Prozess zum Auffüllen eines Picker
mit Daten darin, die anzuzeigenden Daten der schreibgeschützten Items
Auflistung hinzuzufügen, die vom Typ IList<string>
ist. Jedes Element in der Auflistung muss vom Typ string
sein. Elemente können in XAML hinzugefügt werden, indem die Items
Eigenschaft mit einer Liste von x:String
Elementen initialisiert wird:
<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>
Der entsprechende C#-Code ist unten dargestellt:
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");
Zusätzlich zum Hinzufügen von Daten mithilfe der Items.Add
-Methode können Daten auch mithilfe der -Methode in die Items.Insert
Auflistung eingefügt werden.
Reagieren auf die Elementauswahl
Ein Picker
unterstützt die Auswahl eines Elements gleichzeitig. Wenn ein Benutzer ein Element auswählt, wird das SelectedIndexChanged
Ereignis ausgelöst, und die SelectedIndex
Eigenschaft wird auf eine ganze Zahl aktualisiert, die den Index des ausgewählten Elements in der Liste darstellt. Die SelectedIndex
-Eigenschaft ist eine nullbasierte Zahl, die das element angibt, das der Benutzer ausgewählt hat. Wenn kein Element ausgewählt ist, ist dies der Fall, wenn das Picker
zum ersten Mal erstellt und initialisiert wird, SelectedIndex
-1.
Hinweis
Das Verhalten der Elementauswahl in einem Picker
kann unter iOS mit einer plattformspezifischen Angepasst werden. Weitere Informationen finden Sie unter Steuern der Auswahlelementauswahl.
Das folgende Codebeispiel zeigt die OnPickerSelectedIndexChanged
Ereignishandlermethode, die ausgeführt wird, wenn das SelectedIndexChanged
Ereignis ausgelöst wird:
void OnPickerSelectedIndexChanged(object sender, EventArgs e)
{
var picker = (Picker)sender;
int selectedIndex = picker.SelectedIndex;
if (selectedIndex != -1)
{
monkeyNameLabel.Text = picker.Items[selectedIndex];
}
}
Diese Methode ruft den SelectedIndex
Eigenschaftswert ab und verwendet den Wert, um das ausgewählte Element aus der Items
Auflistung abzurufen. Da jedes Element in der Items
Auflistung ein string
ist, können sie von einem Label
angezeigt werden, ohne dass eine Umwandlung erforderlich ist.
Hinweis
Ein Picker
kann initialisiert werden, um ein bestimmtes Element anzuzeigen, indem die SelectedIndex
-Eigenschaft festgelegt wird. Die SelectedIndex
-Eigenschaft muss jedoch nach der Initialisierung der Items
Auflistung festgelegt werden.